序
最近被领导安排,参加了几次codeReview,发现了不少不大不小的问题。因为是另一个小组的,所以我基本上没怎么关注业务逻辑,主要重点放在了对代码风格、抽象层次等的关注,随之发现了一堆问题。
正好我最近在看《代码整洁之道》
这本书,因此我有了整理这方面的一些想法。
本系列将分为上中下三篇,分别从纯理论
、方向
、实践
层面来对代码整洁之道
进行个人的一些见解说明。
代码整洁之道
对于程序员来说,最不愿意的一件事情,就是接手别人的代码。一方面是因为是另一个人的逻辑,要从头到尾理解一遍需要花费很大的功夫,另一方面就是因为很有可能是祖传代码,又臭又长。
第一个原因还好,配合
prd
,啃一段时间还是可以啃下来的。但是对于祖传代码,就不是这么简单了。看着又臭又长、逻辑不清晰、抽象不分明、一行注释没有的代码,所有人都会头疼。
什么是代码
将需求明确道机器可以执行的细节成都,就是编程要做的事情,而这种规约正是代码。
简而言之,代码就是我们通过一个约定好的规范,将我们脑海中的想法,转化为机器可以读取的一种方式。
就像是一个翻译员一样,好的代码可以让机器更好的读取,拥有更好的性能,更高的抽象,更少的重复,而不好的代码,就如同机翻一样,不仅对于执行者有更大的负担,对于代码的接手者也有着极大的心智负担。
代码整洁的重要性
勒布朗法则:随后等于永不
一开始的时候,每个项目都是整洁的。
但是随着代码复杂程度的增加,代码混乱程度也会随之增加。而随着混乱程度的增加,团队生产力会持续下降,当生产力下降时,会增加更多人手到项目中,以期望提高生产力,可是新人并不熟悉整体,于是会愈发的混乱。
因此为了避免这种情况,我们需要尽可能的一直保持代码的整洁。
但是很多时候,项目要求都比较紧急,可能会以完成任务为第一目标,并不会注重代码的整洁以及可维护性。然后就会像上面说的那样,代码愈发混乱,愈发不可维护。
制造混乱无助于开发,混乱只会拖慢你的进度。想要加快进度,就需要尽可能的保持代码的整洁。
因此,任何时候,维护代码的整洁、统一都是很有必要的。
就比如你是一个医生,病人要求你在做手术之前别洗手,因为那会浪费一点时间,很显然,这是不合理的。
我们应该如何保持代码的整洁
破窗理论:环境中的不良现象如果被放任存在,会诱使人们仿效,甚至变本加厉
为了我们代码的整洁,我们需要为他花费一定的时间来进行优化。
整洁的代码就是作者着力照料的代码。有人曾花时间让它保持简单有序。他们适当的关注到了细节,他们在意过。
一般来说,除了linter
等用于规范代码格式的工具之外,还有一些需要自己进行关注的方面:
- 代码逻辑直接了当
- 减少依赖便于维护
- 根据分层战略完善错误处理
- 单元测试覆盖全面
- 有意义的命名(做到名副其实)
- 提供一种而非多种做某件事的途径(没有重复代码)
小结
本篇从代码整洁程度的重要性、如何保持代码的整洁等几个宏观的方面,大概介绍了一些为什么要维持代码的整洁的理由,下一篇,我们将从
- 命名
- 函数
- 注释
- 代码格式
- 错误处理
- 边界
- 单元测试
- 迭进设计
- 逐步改进
等方面,具体来介绍代码整洁的一些重点。
希望看完这三篇,对你有所帮助。