今天来到Clean Code 的第二章。
2.1 介绍:
到处都需要命名
2.2 名副其实:
取个好名字需要时间,但能让维护更省心;好的名称能明确体现上下文
2.3 避免误导:
不要使用与本意相悖的名称,要保持名称之间的区分度(注意不要单独使用l和O)
联想到Captcha 中最好不要出现的字符更多,比如
Z-2, O-0, l-1, I-l, S-5
2.4 做有意义的区分:
不要出现数字后缀,也不要废话
有个疑问,为什么不能用klass或者clazz呢?比如我就是想取单个对象的Class。
2.5 使用能读出来的名称:
不要用首字母缩写
2.6 使用可搜索的名称:
名称需要快速定位,避免使用单字母名称,其最多只能作为短方法的本地变量
2.7 避免使用编码:比如类型、作用域等
联想到以前写C++代码的习惯,又想到了当前Android的一些代码
2.7.1 匈牙利标记语法:
IDE持续改进,不再需要HN
2.7.2 成员前缀:
前缀是旧代码的标志物
2.7.3 接口前缀:
不加修饰的接口更好
2.8 避免思维映射:
明确、专业才是王道,避免思维映射
2.9 类名:
应该是名词或名词短语,不能是动词
2.10 方法名:
应该是动词或者动词短语,带描述的静态工厂方法优于Constructor
联想到 DSL,可以灵活一些,比如
item.computePrice() --> item.price()
2.11 别扮可爱:
应使用大众化的词语
2.12 每个概念对应一个词:
一以贯之的命名法,不要到处混用同义词
2.13 别用双关语:
做到“一词一义”
2.14 使用解决方案领域名称:
技术性名称最靠谱
2.15 使用源自所涉问题领域的名称:
当无法使用技术性名称时,可采用源自问题领域的名称
2.16 添加有意义的语境
做好抽象,类是天然的语境
2.17 不要添加没用的语境:
清楚简短的名称够用即可
2.18 最后的话:
命名需要良好的描述技巧和共有文化背景
最后有个问题是单元测试的函数命名问题。
比如:
shouldBeNotEqualsGivenTwoDifferentLengths();
shouldBeAnotherSmallLengthWhenBiggerLengthMinusASmallOne();
名称很长?不好断句?如果改成下划线分割呢?
should_be_not_equals_given_two_different_lengths();
should_be_another_small_length_when_bigger_length_minus_a_small_one();
分享到:
相关推荐
NULL 博文链接:https://janeky.iteye.com/blog/932064
微软书籍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
Writing Clean Code中文版 好东西大家分享
Clean Code Summary 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
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(中文完整版)
24 Patterns for Clean Code 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或...
代码审查、类/包设计、TDD、持续集成速查表 Urs Enzler花了大约一年半的时间整理了这份速查表,旨在帮助开发者检查代码是否洁净 •清洁代码 •类/包设计 •TDD——测试驱动开发 •ATDD——检验测试驱动开发 ...