高质量软件开发:怎样写出优质的代码

软件质量的高低与开发者的意识有很大的关系。这是一篇写给软件开发者的短文,来源于我在华为公司学到的一些经验,力求简洁明了,希望帮助新入门的朋友树立起软件的质量意识,写好代码。

 

1. 不重复。重复的代码是万恶之源,能提取的提取,能抽象的一定要抽象。

 

2. 命名要规范。变量名字用英语,用有意义的名字,用全称。严格禁止用缩写。缩写的东西,过几个月就没人再看得懂,包括你自己。

 

3. 写注释。注释分3个等级,下等:要讲清楚你在干什么;中等:为什么要这么干;上等:举个真实例子。修改代码后,要同步更新注释。过期的注释不但没有帮助,反而有害。

 

以上三条是我们团队对新员工的基础要求,重中之重,做不到的试用期考核不合格。

 

4. 维护规格文档。大家见得比较多的是需求文档,规格文档其实也很重要,特别是对于一些复杂的特性,规格文档可以帮助你理清思路,全面清理盲点。可以帮助测试人员理解产品,在工作交接的时候也是一大利器。

 

5. 记日志。重要的、危险的、对于定位问题有帮助的,都要记录日志。日志看起来增加工作量,影响进度和效率,但未来有可能救你的命。

 

6. 仔细设计错误提示信息。错误提示信息非常重要!它是给用户看的,帮助他理解问题分析原因提供解决方法。当我看到“发生未知错误,请联系客服”这种提示信息的时候,我真的很想把这个程序员暴打一顿。

 

7. 测试。先写清楚测试用例,再老老实实去测试。测试不是测试部的专利,开发人员也要很懂测试。

 

8. 负责任,学会重构。前辈们留下来的代码,到了你手里,你就是第一责任人。看到不合理的,丑陋的,有问题的代码,就不要怕麻烦,把它优化、重构好。曾经有个团队交给我的东西被我发现有很多问题,程序员解释说是因为前面的人惹的祸。从那之后我再也没跟他们合作过,我认为他整个团队都是有问题的。

 

9. 合理设计架构。结构明确,MVC框架用好,model不要把controller的活一股脑的干完。接口分层次,减少耦合、依赖,响应变化、而又不过度设计。这个比较难,需要多总结,多思考。

 

10. 要懂业务。做产品,要深刻理解业务,理解用户需求,理解设计,理解原则。要能和用户、和产品经理PK,要考虑所有可能性、懂利弊、敢于取舍。

 

11. 明确,简单,直接,不绕弯,不暗示,不假设,不用奇技淫巧。

 

12. 不写长函数。超过100行的函数,90%有设计问题。

 

13. 关注效率。干活一次到位,不要反复查,循环嵌套。用不到的信息,不要去获取。

 

14. 不写魔鬼数字,用有意义的常量来代替。

 

15. 变量用途要单一化,不要共用。共用其实一点都不节省,没有任何效率提升。共用导致大量的BUG,可以证明你不懂技术,愚蠢,缺乏想象力。原谅我如此不淡定的愤怒情绪。

 

最后,也是最重要的:尊重用户,不需要的权限不获取,涉及用户隐私的数据,尽量少用。不偷偷摸摸干坏事,向谷歌学习:不做恶。

本文作者:杨觅,六米软件创始人,工厂可视化管理倡导者。

发表评论

电子邮件地址不会被公开。 必填项已用*标注