`
xmou
  • 浏览: 6088 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Clean Code 读后感(二)

阅读更多

今天来到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();
 
0
0
分享到:
评论

相关推荐

    《Clean Code》读后感

    《Clean Code》是软件开发领域一本非常经典的书籍,由Robert C. Martin(也被称为Uncle Bob)撰写。这本书深入探讨了编写整洁、可读、可维护代码的重要性,旨在提升软件开发人员的职业素养和代码质量。在阅读这本书...

    Write Clean Code Write Clean Code Write Clean Code Write Clean Code

    《Write Clean Code》是微软出版的一本专注于C语言编程实践的书籍,旨在帮助开发者提高代码质量,编写出更清晰、更可维护的程序。书中的内容涵盖了C编程的多个核心领域,包括基本语法、错误处理、内存管理、数据结构...

    clean code(中文完整版).7z

    《Clean Code(评注版)》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好的基础。《Clean Code(评注版)》作者给出了一系列行之有效的整洁代码操作实践。这些...

    Clean Code A Handbook of Agile Software Craftsmanship 无水印pdf

    Clean Code A Handbook of Agile Software Craftsmanship 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自...

    Clean Code Summary 无水印pdf

    Clean Code Summary 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    clean_code(中文完整版).rar

    《Clean Code》中文完整版.pdf 这本书是软件开发领域中一本经典的著作,由著名软件工程师Robert C. Martin(Bob大叔)撰写。《Clean Code》强调编写整洁、可读性强的代码,这对于任何软件项目的长期维护和扩展至关...

    Writing Clean Code中文版

    ### 清晰编程的核心概念与实践 —— 《Writing Clean Code中文版》解析 #### 标题解析 - **标题**:“Writing Clean Code中文版”表明这是一本关于如何编写清晰、高质量代码的书籍,其内容是针对中文读者群体。 ##...

    Writing Clean Code

    Writing Clean Code 不是 Solid Code

    24 Patterns for Clean Code mobi

    24 Patterns for Clean Code 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    完美模式设计指南(Write Clean Code)

    完美模式设计指南(Write Clean Code) CHM版 繁体中文

    24 Patterns for Clean Code azw3

    24 Patterns for Clean Code 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    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 ...

    Writing Clean Code.rar

    《编写整洁代码》是软件开发领域中一个至关重要的主题,旨在提高代码的可读性、可维护性和可扩展性。本文将深入探讨该主题,并基于...在《Writing Clean Code》中,你将找到更多关于如何实现这一目标的具体指导和示例。

    Clean-Code(JAVA必看的一本书非常好)

    "Clean Code"这一标签恰好反映了这本书的核心理念——编写整洁、易读、可维护的代码。以下是基于书中的关键知识点的详细解释: 1. **命名约定**:良好的命名是代码可读性的基础。书中强调,变量、函数和类的命名应...

    Writing Clean Code(PDF版本)

    《Writing Clean Code》这本书由Steve Maguire撰写,姜静波、佟金荣翻译,麦中凡校对,由电子工业出版社出版。本书是关于如何编写高质量、无错误的C语言程序的专业指南。作者基于自己在微软的工作经验和教训,分享了...

    CleanCode ppt

    ### CleanCode概述 《CleanCode》是一本关于提高软件开发质量的经典著作,它不仅强调了良好的架构和项目管理的重要性,还特别突出了代码本身的质量对于软件成功的关键作用。书中提出了“整洁代码”的概念,即代码的...

    Clean Code A Handbook of Agile Software Craftsmanship

    《Clean Code》是由著名软件工程师Robert C. Martin(Uncle Bob)所著,是一本关于敏捷软件开发中编写高质量代码的指南。这本书以其深入浅出的写作风格,从实践出发,结合理论,再回归实践,揭示了编写“干净代码”...

    Clean.Code.2008.8.epub

    Clean.Code.2008.8.epubClean.Code.2008.8.epubClean.Code.2008.8.epub

Global site tag (gtag.js) - Google Analytics