C#代码整洁之道读后总结与感想
1. 基本信息
C#代码整洁之道:代码重构与性能提升 ,英文名为Clean Code in C#。
作者:[英] 詹森·奥尔斯(Jason Alls) 著,刘夏 译
机械工业出版社,2022年4月出版。
1.1. 读薄率
书籍总字数489000字,笔记总字数8927字。
读薄率 8927÷489000≈1.83%
1.2. 读厚方向
1.2.1. 函数编程
-
Functional C#
-
Functional Programming in C#
-
JavaScript: Functional Programming for JavaScript Developers
-
Learning Java Functional Programming
1.2.2. 设计模式
-
Hands-On Design Patterns with Java
-
Spring 5 Design Patterns
1.2.3. TDD、BDD
- 测试驱动开发 [美]Kent Beck 著
和原文的推荐书籍不一样,读厚方向只是我感兴趣的,原文每个章节都有推荐书籍,更多、更详细。
1.3. 笔记--章节对应关系
笔记 | 章节 |
---|---|
读C#代码整洁之道笔记01 | 第01章 C#的编码标准和原则 |
读C#代码整洁之道笔记02 | 第03章 类、对象和数据结构 |
第04章 编写整洁的函数 | |
读C#代码整洁之道笔记03 | 第11章 处理切面关注点 |
第05章 异常处理 | |
第08章 线程与并发 | |
读C#代码整洁之道笔记04 | 第13章 重构C#代码——识别代码坏味道 |
读C#代码整洁之道笔记05 | 第12章 使用工具改善代码质量 |
第06章 单元测试 | |
读C#代码整洁之道笔记06 | 第09章 API的设计与开发 |
第10章 使用API密钥和Azure Key Vault保护API | |
读C#代码整洁之道笔记07 | 第02章 代码评审——过程及其重要性 |
第14章 重构C#代码——实现设计模式 | |
第07章 端到端系统测试 |
2. 亮点
2.1. 4~10行方法
方法不宜超过4行,不应超过10行。4行方法,一目了然,强制倒逼自己思考这个方法是否承担了过多的责任,能否选择更合适的模式实现。
2.2. 参数不多于2个
-
列表中有很多out参数,则重构方法返回元组或对象
-
对于方法的参数,请使用参数对象替换长的参数列表
-
柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术
2.3. 确保所有对象的继承深度不大于1
-
扁平化
-
不会创建出非常深的类层次
- 一个对象的多个状态和方法可能来自层次结构中的不同级别,导致代码更难理解
2.4. 圈复杂度降低到10以内
-
if/switch等条件语句的处理
-
循环处理
- 采用Lamdba
以上的量化指标,简单明了,在编码实践中,如果能够贯彻执行,相信对于提升编码水平一定是大有裨益。
3. 感想
3.1. 语言无关性
尽管这本书是写C#的,除了一些语法特性外,大部分建议都是语言无关的。
3.2. 笔记的益处
倒逼自己一本书至少要过3遍。1遍通读+勾画、2遍导图+笔记、3遍去粗取精+修订完善,如果算上这篇的总结和感想,那就是4遍了。
这使得自己查漏补缺,加深了认识和记忆。
3.3. 要不要读原文
有时间、有精力的情况下,当然是要去读原文咯。
毕竟各人知识背景不一样,我觉得重要的地方,你不一定觉得,相反, 我觉得不重要的,也许你觉得就是亮点。
更何况,原文有图有代码示例,更能加深印象和认识。