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

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

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

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

C#代码整洁之道读后总结与感想的更多相关文章

  1. 读<<代码整洁之道>>的感想

    花去了近一周的时间浏览一下这本书.总体感觉这本书写得不错. 我发现自己以前写的代码时多么的糟糕.有很多改进之处... 同时我也发现写出优秀的代码不易.优秀的代码不仅仅易读,并且易修改,易维护,程序易维 ...

  2. 读《Clean Code 代码整洁之道》之感悟

    盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊.我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手 最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句 ...

  3. 2015年第11本:代码整洁之道Clean Code

    前一段时间一直在看英文小说,在读到<Before I fall>这本书时,读了40%多实在看不下去了,受不了美国人啰啰嗦嗦的写作风格,还是读IT专业书吧. 从5月9日开始看<代码整洁 ...

  4. Programming好文解读系列(—)——代码整洁之道

    注:初入职场,作为一个程序员,要融入项目组的编程风格,渐渐地觉得系统地研究下如何写出整洁而高效的代码还是很有必要的.与在学校时写代码的情况不同,实现某个功能是不难的,需要下功夫的地方在于如何做一些防御 ...

  5. 《代码整洁之道》ch5~ch9读书笔记 PB16110698(~3.15) 第二周

    <代码整洁之道>ch5~ch9读书笔记 本周我阅读了本书的第5~9章节,进一步了解整洁代码需要注意的几个方面:格式.对象与数据结构.错误处理.边界测试.单元测试和类的规范.以下我将分别记录 ...

  6. 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)

    <代码整洁之道>ch1~ch4读书笔记  <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...

  7. 《代码整洁之道》&《程序员的职业素养》

    这是why技术的第32篇原创文章 春节期间读了两本技术相关的书籍:编程大师Bob大叔的<代码整洁之道>和<代码整洁之道:程序员的职业素养>. <代码整洁之道>出版于 ...

  8. <读书笔记> 代码整洁之道

    概述      1.本文档的内容主要来源于书籍<代码整洁之道>作者Robert C.Martin,属于读书笔记. 2.软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一 ...

  9. <代码整洁之道>、<java与模式>、<head first设计模式>读书笔记集合

    一.前言                                                                                       几个月前的看书笔记 ...

  10. android开发系列之代码整洁之道

    说起代码整洁之道,想必大家想到更多的是那本经典重构书籍.没错,记得当时自己读那本书的时候,一边结合项目实战,一边结合书中的讲解,确实学到了很多东西,对我自己的编码风格影响极深.随着时间的流逝,书中很多 ...

随机推荐

  1. php注解使用示例

    今天看到php注解的介绍文章很感兴趣,动手实际试了试挺好玩,写这篇文章记录下 php从8开始支持原生注解功能了,我们可以写个小的例子看看注解怎么玩.   先确定我们的任务目标 1.编写一个注解类rou ...

  2. 重新整理 .net core 实践篇 ———— linux上排查问题实用工具 [外篇]

    前言 介绍下面几个工具: Lldb createdump dotnet-dump dotnet-gcdump dotnet-symbol Procdump 该文的前置篇为: https://www.c ...

  3. C语言白盒测试讲义

    好久没有做过C语言的白盒测试了,估计以后也没这个机会.把自己之前参加过的培训素材做个分享. 素材下载链接:https://pan.baidu.com/s/1LPD9Az04zEj8RuCICaKYxQ ...

  4. 常用到的read命令

    记录一下. 几个简单参数介绍 read -p :显示提示信息 read -s :静默模式(Silent mode),不会在屏幕上显示输入的字符.当输入密码和其它确认信息的时候,这是很有必要的. rea ...

  5. API 如何选择 REST,GraphQL还是gRPC

    关于API的演进 CORBA RDA XML-RPC SOAP REST JSON-RPC ODATA GraphQL gRPC       gRPC是什么?

  6. C温故补缺(五):main函数的参数

    main()的参数 main()函数的参数,用于在外部执行时传入参数,类似windows的bat脚本或linux的sh脚本.在bat脚本中传入参数,用%接收.sh脚本的参数用$接收. c语言编译成可执 ...

  7. typora实现多平台发布文章

    源码下载 前言 之前写过一片文章,typora 使用CSDN作为图床,用来存储 markdown 文章的图片资源文件.后来发现 typora 还可以自定义导出命令,那么也可以利用这个功能实现直接发布到 ...

  8. Java9-17新特性一览,了解少于3个你可能脱节了

    前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于 ...

  9. 24V转5V降压芯片,24V转3.3V的稳压芯片,中文规格书

    一般说明PW2312 是一个高频,同步,整流,降压,开关模式转换器内部功率 MOSFET.它提供了一个非常紧凑的解决方案,以实现 1.5A 的峰值输出电流在广泛的输入电源范围内,具有优良的负载和线路调 ...

  10. 深刻理解JAVA并发中的有序性问题和解决之道

    欢迎关注专栏[JAVA并发] 更多技术干活尽在个人公众号--JAVA旭阳 问题 Java并发情况下总是会遇到各种意向不到的问题,比如下面的代码: int num = 0; boolean ready ...