《代码精进之路:从码农到工匠》读书笔记

目录

背景

第一部分 技艺

第1章 命名

命名的作用

命名规则

第2章 规范

第3章 函数

第4章 设计原则

第5章 设计模式

第6章 模型

第7章 DDD的精髓

第二部分 思想

第一部分 实践

 


背景

实际开发一年了,自评开发习惯不好,没有形成很好的自己的代码风格,也很难写出优雅的代码。开始向别人学习,在此记录读书笔记。《代码精进之路:从码农到工匠》

第一部分 技艺

第1章 命名

命名的作用

提高代码可读性:使代码概念清晰,增强代码表达力。为什么代码可读性这么重要呢,书中有一句话,看了很感慨:。所以,代码即文档,可读性好的代码有一定的自明性。不借助注释和文档,代码本身就能显性化地表达开发者的意图。

命名规则

1. 常规命名

  • 变量
能够正确描述业务,有表达力的名词。
不需要用注释来补充说明。
避免魔术数,使用统一变量表达,提高代码的可搜索性。
  • 函数
命名要具体,空泛的命名没有意义。
要体现做什么,而不是如何做。
  • 类名
类是一组数据和操作的封装。可以将应用中的类分为两大类:实体类和辅助类。
实体类承载核心的业务数据和业务逻辑,命名要充分体现业务语义,并在团队内形成共识;
辅助类是辅助实体类一起完成业务逻辑的,命名可以通过后缀来体现功能。尽量不要使用Helper、Util做后缀,含义太过笼统,容易破坏单一职责原则。
  • 包名
package代表一组有关系类的集合,起到分类组合和命名空间的作用。
包名应该能够反映一组类在更高抽象层次上的联系,命名要适中,不能太抽象,也不能太具体。
  • 模块名
名称要反映模块在系统中的职责,代表着架构层次。

2. 命名要保持一致性:可以提高代码可读性,从而简化复杂度。命名规则一旦选中,就要持续遵循,保证名称始终一致。

3. 每个概念一个词:每个概念对应一个词,并且一以贯之。

4. 使用对仗词:有助于保持一致性,且易于理解。

5. 后置限定词:把限定词加到名字最后。

常见限定词:Total、Max、Min、Average等。

6. 统一业务语言:减少沟通成本。同一业务概念,不要用多个词汇描述,造成不必要的沟通成本。

7. 统一技术语言:使用通用的技术语言。例DAO、DTO、DO等等。

8. 自明的代码:好的代码是最好的文档。好的代码是指具备很好的可读性和自明性。

9. 中间变量:通过有意义的中间变量,从而把隐藏的计算过程以显性化的方式表达出来。

10. 设计模式语言:技术人员之间,提高沟通效率。

11. 注释

注释的作用是阐述代码背后的意图,而不是复述代码功能,复述功能意味着坏味道。

建议用显性化的方法名来表达意图,以减少不必要的注释。


第2章 规范

 

第3章 函数


第4章 设计原则


第5章 设计模式


第6章 模型


第7章 DDD的精髓

 

第二部分 思想

第一部分 实践

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章