最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

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.要不要读原文

有时间、有精力的情况下,当然是要去读原文咯。

毕竟各人知识背景不一样,我觉得重要的地方,你不一定觉得,相反,我觉得不重要的,也许你觉得就是亮点。

更何况,原文有图有代码示例,更能加深印象和认识。

关键词: 设计模式 基本信息 函数编程