五个帮助初学者提高编码技术的简单方法

在从事软件开发的这几年中,我见过无数程序员写的代码,风格迥异,有工作仅两年就有良好编码能力的,也有工作七八年代码写的一团乱的,当然,我私下里也和这些程序员们沟通过不少 , 然后发现初学者有很多思想上的误区 。
首先,他们会在网上找很多IDE,然后在各种社区看他们的评价 , 两三天换一个,一个好的IDE软件固然重要,但是IDE不能作为写好代码的标准 。
其次 , 初学者更多关注的是代码的最终结果 。比如一段代码能成功运行了,就认为自己实现了目标,殊不知从代码运行速度 , 扩展性等方面,还有很多值得改进的地方,就是因为不注意这些细节,很多程序员到了职业生涯的后期,编码技术一直未能提升 。
坏的编码习惯影响的不仅仅是项目进度 , 还会严重影响自己的职业生涯,随着互联网的不断发展,很多公司的编码已经渐渐的向“标准”靠拢,对于程序员的编码风格和习惯都很看重 。
对此,我总结了五种提高代码质量的方法,希望对初级程序员以及老程序员能改进他们的编码 。
1.将大部分时间花在分析问题上
大多数的程序员在看完需求之后会直接跳入编码阶段 。这种情况在初级软件程序员的身上尤为明显 。初级程序员的性子都非常急躁,想尽快用更多的项目实践来填充自己的履历,提高自己的技术,但是这种方法尤不可取 , 越老道的程序员越会明白一个道理:
一个项目,70%的时间用于分析,30%时间敲代码 。
如果不去分析而直接编码 , 首当齐冲的问题就是项目完成后会出现非常多的BUG,为解决这些BUG,你可以能花费很长时间,甚至会将原代码推翻重新去写 。这样反而得不偿失 。
所以每当进行新项目的时候 , 一定要先分析,提出一个解决方案,梳理成一个流程图,然后再进行编码 。
2.一个问题,多种方案
“一个问题,多种方案”,是每个程序员最容易忽略的一点,一段代码一旦完成就过了,不愿花费更多的时间去多找寻几种解决方案,虽然说这会花费很多时间,但是如果能坚持这个习惯,思维逻辑会有很大增强,同时以后遇到相同的问题,你会找出最佳的解决方案 。
这种方法也有助于提高程序员在后期所需要的批判性思维 , 有了批判性思维,遇到问题之后可以迅速整合出多种方案,根据速度,内存等其他因素选择出最适合的解决方案 。
当然 , 很多人在刚开始的时候根本想不出多种解决方案,我这里有个方法,可以在开源平台或者社区搜索 。比如StackOverflow和Github
3.多看看别人的代码
即使在同一个项目组,也很少有程序员会互相看同事的代码,只完成属于自己的模块 。同理 , 初学者也不会去网上看其他人的代码 。
正如我上面所说的,每个程序员都有独特的编码风格 。阅读其他人的代码会给自己带来很多收益,除此之外,如果进行的是同一个项目,你也能了解到其他模块的进度,能更加熟悉整个项目
所以在完成工作后,抽出一点时间来看看其他同事提交的代码,进一步了解自己的项目 。
4.培养自己的耐心
很多开发人员不注重细节,对待事情也没有耐心,比如项目的单元测试,很多人对单元测试不屑一顾,认为单元测试的主要目的是测试代码的覆盖率,其实并非如此 。
单元测试可以帮助开发者删除不必要的代码行,改善代码和整体项目的性能 。
我建议大家可以耐心一点,最好能给每个模块编写单元测试用例 。试着实现90%以上的代码覆盖率 , 删除不必要的代码 。
5.时刻更新自己的知识
如果自己不学习新的技术,那么五年之内 , 你必将遭到淘汰 。
这句话并不是危言耸听,而是时时刻刻正在发生着 , 就连负责维护开发语言的厂商,每年都在更迭版本,确保语言不会落后 , 被市场淘汰 。
当然 , 这些语言的技术更新也会给开发者带来很多便利 , 比如以下代码:
// Old ApproachIf (sampleObject != null)
{
If (sampleObject.result != null)
{
string result =sampleObject.result;
}
}
// New approachIf (sampleObject != null)
【五个帮助初学者提高编码技术的简单方法】{
string result = sampleObject?.result;
}
在旧的方法中,首先检查对象是否为null,然后检查该对象内部的特定值是否可用 。最后才可以将该值分配给变量 。


推荐阅读