为什么要写整洁代码
现在阅读这篇博客的你不论是刚入行的新人还是开发了很多年的老鸟一定碰到过"祖传代码"(也有人称之为屎山,话糙理不糙),并为之头疼。对代码的每次修改都影响其他两三处的代码,每次添加或修改代码,都得对那一堆乱麻了然于心,否则随着这团乱麻越来越大,再也无法清理,最后束手无策。宁愿自己重新写这个功能,也不愿碰它。被祖传代码拖了后腿,开发者又背负 deadline压力,只好继续堆叠混乱。而事实上,制造混乱无助于赶上期限。随着混乱的増加,团队生产力持续下降,以至趋向于零。保持、提高效率的唯一办法,就是始终尽可能的保持代码整洁。
命名
名副其实
选个好名字需要花时间,但省下来的时间比花掉的多
1.如果名称需要注释来补充,那就不算是名副其实
做有意义的区分
如果名称相异,意义也应该不同
例:add和insert
两个均为添加的意思,我们在使用的时候就需要尽量保持使用一致,不能这出使用add下个方法就用insert来表示添加。
2.废话都是冗余
例:Variable一词永远不应该出现在变量名中,Table一词永远不应该出现在表名中
类名、方法名
1.类名和对象名应该是名词或名词短语
例:Customer、WikiPage
2.方法名应当是动词或动词短语
例:postRequest、deletePage
函数
短小
- 函数的第一规则是要短小,第二规则是还要更短小
- 每行不超过150个字符,函数总长度20行封顶最佳
- 应该到达的程度:每个函数都一目了然,每个函数都只说一件事,每个函数都依次把你带到下一个函数。
只做一件事
函数应该做一件事,做好这件事,只做一件事
注释
注释类型
1.行注释
如下图,每行代码都用注释描述清楚做了什么
2.块注释
如下图,一个方法上面或某个逻辑操作上添加注释描述
好注释
- 法律信息
- 提供信息的注释
- 对意图的解释
- 阐释
- 解释
- TODO注释
坏注释
- 喃喃自语、多余的注释、废话注释
- 误导性注释
- 日志式注释
- 注释掉的代码
格式
目的
代码格式关乎沟通,今天编写的功能很有可能在下一版本中被修改,但代码风格和可读性会影响到可维护性和可扩展性。
垂直格式
- 在导入声明、每个函数之间都用空白行隔开
- 变量声明,变量声明应尽可能靠近其使用位置
- 实体声明,实体应该在类的顶部声明
- 相关函数,某个函数调用了另外一个,就应该把他们放到一起,而且调用者尽可能放在被调用者上面。
横向格式
使用空格把关系紧密的事物联系到一起,把相关性较弱的分隔开(格式化代码,idea快捷键:ctrl+alt+L)
团队规则
每个程序员都有自己喜欢的格式规则,但如果在一个团队中工作,就是团队说了算。一组开发者应当认同一种格式风格,每个程序员都应该采用那种风格。
总结
今天的分享内容大部分都来自与《代码整洁之道》这本书,如果想了解更多的整洁代码的方法和技巧,可以深入研究一下这本书,你将会受益匪浅。
以上就是今天分享的内容了,如果觉得有收获可以关注点赞一波。