什么是clean code
Later equals never.
软件质量不仅关系到软件的效率,更加关系到软件的生存
总结一下,大致满足以下几点就差不多了。
1. 可读性强,清晰的表达思想,易读,易改
2. 较高的运行效率
3. 简单明了,单一职责,不要过度设计
4. 高内聚,低耦合
5. 包含单元测试
1.命名
原则
1. 名字表现内容,让读者能通过名字即知道这个代表什么,不需要注解。如果需要注解,则不是个好名字
2. 不能有歧义,误导读者。也不要一词二义
3. 名字要有特征,不能取name2 之类的名字。
4. 名字要便于发音,易于交流
5. 易查找,便于定位
6. 类名应该是名词,而方法名是个动词形式
7. 根据情况选择技术领域,或者问题领域内的名词
8. 名字应该依赖于上下文,比如方法,类,包。一同表达出想要的意义
9. 不要在名字中添加无用的字段。言简意赅
难点
1. 良好的表达技巧
2. 广泛的文化背景
实践
1. 名字长度 10-16个字符
2. 把限定词total,sum,average,max,min,record,string,pointer加在名字的最后
3. 常用的对仗词
Begin/end next/previous visible/invisible
4. 典型的布尔命名done,error,found,success,ok
5. 缩写的一般原则:比如去掉所有的非前置元音,去掉虚词and,or,the ,统一的使用每个单词的第一,第二,或者第三个字母,保留每个字节中最引人注意的发音
2.方法
原则
1. 方法要尽量简短
2. 语句块和缩进的层次不宜超过2
3. 方法应很好的完成一个唯一的任务(同一个抽象层次)
4. 尽量避免用switch,因为它违反SRP和OCP原则,所以应尽量把它放在底层来创建多态对象。
5. 使用描述性的名字,如果方法结构得当,去个好名字不是难事
6. 方法的参数应尽可能的少,最好控制在3个之内;参数如果很多,应用参数对象。用成员变量和替代参数也可以提高程序的内聚性。
7. 参数不宜混淆,应和方法名相关
8. Boolean不宜作为参数传入方法体内
9. 一个方法应尽量干净,不能有副作用,不能依赖于不相关的事物
10. 参数不能作为输出之用
11. 用异常代替错误码,防止代码依赖于错误码。
12. 提取try …. Catch块中的代码,方便阅读
13. 提高抽象,增加代码复用
总结:很好的表达出整个程序
实践
1. 先写一个随意笨拙的方法,并让测试通过。
2. 遵循以上原则,进行重构。TDD
3. 让系统(程序)被很好的表达出来,而不是仅仅被写出来
分享到:
相关推荐
微软书籍Write Clean Code 微软书籍Write Clean Code 微软书籍Write Clean Code 微软书籍Write Clean Code
Clean Code A Handbook of Agile Software Craftsmanship 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自...
Writing Clean Code.rar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Clean Code Summary 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Writing Clean Code中文版 好东西大家分享
CleanCode 简要说明
Writing Clean Code 不是 Solid Code
编程精粹(Writing Clean Code)中文pdf版
24 Patterns for Clean Code 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
完美模式设计指南(Write Clean Code) CHM版 繁体中文
24 Patterns for Clean Code 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
《Clean Code(评注版)》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好的基础。《Clean Code(评注版)》作者给出了一系列行之有效的整洁代码操作实践。这些...
Clean-Code-A-Handbook-of-Agile-Software-Craftsmanship-Robert-C-Martin-Series Robert C. Martin Series The mission of this series is to improve the state of the art of software craftsmanship. The books ...
clean code英文版,作者Robert C. Martin
clean_code(中文完整版)clean_code(中文完整版)clean_code(中文完整版)clean_code(中文完整版)
Google 工程师 Ryan McDermott 根据 《Clean Code》总结了一份适用于 JavaScript 的软件工程指导准则《Clean Code JavaScript》。希望能帮你写出易读、易复用、易重构的 JavaScript 代码
24 Patterns for Clean Code 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或...
Clean Code Summary Agile Software Craftmanship Guidelines Developer Deconstructed 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者...