Clean Code
2019-08-13 本文已影响0人
執著我們的執著
1. 整洁代码
什么是整洁代码 :可读性;可维护性;可拓展性;高效性
为什么需要保持代码整洁 : 混乱代码付出的代价高昂,时间成本,人力成本
Clean Code 谨记两个原则 :
- 勒布朗法则 : Later equals never
- 美国童子军军规 : 让营地比你来的时候更干净
2. 命名
2.1 有意义的命名,通过命名可以知道变量或函数的作用
code once, read more 好命名带来高效率
2.2 采用统一的命名方式
- 驼峰命名法 : UperCamelCase(大驼峰); lowerCamelCase(小驼峰)
- 匈牙利命名法:在大驼峰的基础上,加上前缀,前缀用来表达类型或用途
2.3 避免命名之间的混淆,做有意义的区分
- 理清函数层次关系,赋予一个准确的名字,是十分有必要的
3. 注释
When I wrote this, only God and I understood what I was doing
Now, Only God knows
什么是最好的注释 : 没有注释!!!
糟糕的代码是注释存在的动机之一,代码在变动,在演变,不准确的注释比没注释更加糟糕,最优解那就是通过代码自注释!!!
必须写的注释 :
- 版权信息: Copyright ... ...
- 对外API的描述
- 警示
- 等等
坏的注释 :
- 函数的注释,貌似很全,但是参数的含义啥都没说明,注释等于没用
- 多余的注释
- 没有同步更新的注释,容易造成误导
- 等等
关于注释的几项意见
- 注释务必要准确
- 注释需要与代码同步
- 除非必要,尽量代码自注释
4. 格式
格式的目的
对代码采用一致的格式,这不是浪费时间的愚蠢修饰,而是一种重要的
交流工具
- 4.1 概念间垂直方向上的区隔
在阅读代码的时候,我们的视觉总是很容易停留在空白行后的第一行。那么,我们可以利用此行为习惯标识重点、将代码中的功能区分隔。比如:函数申明、变量定义、各个细节功能、函数之间、重要的算法都建议使用空白行进行标识。 - 4.2 垂直方向上的靠近
在如果说空白行隔开了概念,靠近的代码则暗示了它们之间的紧密关系。所以,紧密相关的代码应该互相靠近。 - 4.3 相关的函数紧密相连,方便阅读分析代码
概念相关的代码应该放在一起。相关性越强,彼此之间的距离就该越短。 - 4.4 垂直顺序
一般而言,我们想自上而下的展示函数调用顺序,被调用的函数应该放在执行调用函数的下面,这样我们就建立了一种自顶向下贯穿源代码模块的信息流。 - 4.5 保持代码行短小
代码行尽量不要超过80个字符 - 4.6 水平方向上的区隔与靠近,对齐,缩进
每个程序员都有自己喜欢的格式规则,但在一个团队中,需要统一团队编码格式
5. 函数
- 5.1 函数就该短小
20行左右的代码最佳
维护成本小
代码可读性好
拥有重用潜力
灵活性好,易于重构
代码质量高,错误无处遁形
最小化注释
-
5.2 单一职责原则
函数应该做一件事;做好这件事;只做这一件事.
-
5.3 函数参数
参数越少越好 : 参数过多就封装成结构体 -
5.4 DRY --- Don't Repeat Yourself
重复可能是软件中一切邪恶的根源
函数最小化,提高重用性
拒绝拷贝,坚持重构,从点滴做起