10条写高质量代码建议

写高质量的代码,不管你是程序员,架构师,这是最基本的技能。但是什么是高质量代码呢?有人说是clean code(整洁代码),有人要有好的流程,有人说要有好的工具等等。我想说一下我自己的想法以及我通过自己经验总结的10条建议。在列出这些建议之前,我想说一下为什么要写高质量代码。

为什么要写高质量代码?

  1. 大部分的工作都是维护工作,这是一个不争的事实。不管你在大厂的,还是小厂,大部分的时候我们都是在维护一个项目,然后在上面做些修改,改bugs等等。如果是高质量并且可读性强的代码,会给我们维护带来很大的方便。
  2. 我们花80%的时间都是在读代码而只有剩下20%时间写代码,这也是典型的二八原理,写出来的代码都是给人读,而不仅是给机器读。
  3. 质量不高的代码(quick and dirty)的维护成本随着时间的推移维护成本越来越高,越来越难维护,每次新加功能,都异常艰难,不能及时推出新功能,最终甚至导致公司倒闭。


10条写高质量代码建议

4.如果代码质量不高,阅读困难,也会导致程序员不愿意修改已有的代码,而是自己写的代码代替。这样导致代码臃肿,重复。

5.代码质量不高,直接影响产品的质量问题,客户的满意度下降。

那怎么提高我们的代码质量?

1.使用有意义的名字,这个在bob大叔在整洁代码里也非常强调这点,比如一个变量daysSinceCreation.一眼就能开出来这个是干什么的。如果是一个方法,直接看方法名,我就知道这个是干什么,比如setWindowTitle。下面有几个例子,右边是推荐的命名。

  • validateForm --->getErrors,isValid,bindFromRequest
  • getToken-->createToken,generateToken,fetchToken
  • processLogin-->runPostRegistrationActions


2.减少注释,尽量让代码自己展示自己的意图。但是不是说注释不重要,很多时候,注释很重要,尤其是一些特殊逻辑。但是我们也知道维护注释,是一种很困难事情,经常发生的是,代码修改提交完成,但是注释没有改,导致很多的误解。

3.重构,越早重构越好。当我们发现质量很差的代码(比如 sonarlint检测到不合规的代码),我们要抽时间把他们修改了,而不是任其发展。大家可能知道那个“破窗理论”,如果不管不问,只会越来越糟。

4.单一职责,一个函数只做一件事,参数尽量少,2个最好,不能太多。这也是SOLID原则之一。

5.一定要写测试。多年前,大家很重视TDD,但是TDD也有自身的问题。实际上,很少有公司应用严格的TDD过程。 与其说是测试优先开发,更具体地说,是任何新代码都必须有新测试代码。 换句话说,您永远不会在没有测试代码的情况下产生一个新代码。

6.接口优先,任何时候都从接口开始,然后才开始具体的实现。接口也是实现组件的可插入性(Pluggability)的关键。

7.迭代开发,这也是敏捷开发的核心。

8.独立组件架构,独立组件架构必须设计成其他组件的依赖性最小,这样,每一个组件通过很小的改动,就可以很多别的地方使用。

9.优秀的工具(包括IDE和插件),比如说我们在开发Java时候,现在大部分都会用Intellij IDEA IDE 和插件sonarlint以及IDEA code style。

10.不要重新发明轮子,要用现成优秀的类库,但是不要使用提供几乎相同功能的多个库。


有高质量可读的代码是把产品做好的前提。 难以理解的代码不仅会吓坏您的同事(以及您未来的自己),而且还会掩盖错误并破坏整个团队的开发进度,因为每次修改都需要两倍甚至更多的时间。

10条写高质量代码建议


分享到:


相關文章: