`
lujiawu12
  • 浏览: 124916 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

clean code读书总结和思考1

阅读更多
什么是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. 让系统(程序)被很好的表达出来,而不是仅仅被写出来

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics