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. 要不要读原文
有时间、有精力的情况下,当然是要去读原文咯。
毕竟各人知识背景不一样,我觉得重要的地方,你不一定觉得,相反, 我觉得不重要的,也许你觉得就是亮点。
更何况,原文有图有代码示例,更能加深印象和认识。
C#代码整洁之道读后总结与感想的更多相关文章
- 读<<代码整洁之道>>的感想
花去了近一周的时间浏览一下这本书.总体感觉这本书写得不错. 我发现自己以前写的代码时多么的糟糕.有很多改进之处... 同时我也发现写出优秀的代码不易.优秀的代码不仅仅易读,并且易修改,易维护,程序易维 ...
- 读《Clean Code 代码整洁之道》之感悟
盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊.我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手 最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句 ...
- 2015年第11本:代码整洁之道Clean Code
前一段时间一直在看英文小说,在读到<Before I fall>这本书时,读了40%多实在看不下去了,受不了美国人啰啰嗦嗦的写作风格,还是读IT专业书吧. 从5月9日开始看<代码整洁 ...
- Programming好文解读系列(—)——代码整洁之道
注:初入职场,作为一个程序员,要融入项目组的编程风格,渐渐地觉得系统地研究下如何写出整洁而高效的代码还是很有必要的.与在学校时写代码的情况不同,实现某个功能是不难的,需要下功夫的地方在于如何做一些防御 ...
- 《代码整洁之道》ch5~ch9读书笔记 PB16110698(~3.15) 第二周
<代码整洁之道>ch5~ch9读书笔记 本周我阅读了本书的第5~9章节,进一步了解整洁代码需要注意的几个方面:格式.对象与数据结构.错误处理.边界测试.单元测试和类的规范.以下我将分别记录 ...
- 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)
<代码整洁之道>ch1~ch4读书笔记 <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
- 《代码整洁之道》&《程序员的职业素养》
这是why技术的第32篇原创文章 春节期间读了两本技术相关的书籍:编程大师Bob大叔的<代码整洁之道>和<代码整洁之道:程序员的职业素养>. <代码整洁之道>出版于 ...
- <读书笔记> 代码整洁之道
概述 1.本文档的内容主要来源于书籍<代码整洁之道>作者Robert C.Martin,属于读书笔记. 2.软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一 ...
- <代码整洁之道>、<java与模式>、<head first设计模式>读书笔记集合
一.前言 几个月前的看书笔记 ...
- android开发系列之代码整洁之道
说起代码整洁之道,想必大家想到更多的是那本经典重构书籍.没错,记得当时自己读那本书的时候,一边结合项目实战,一边结合书中的讲解,确实学到了很多东西,对我自己的编码风格影响极深.随着时间的流逝,书中很多 ...
随机推荐
- Nginx四层负载均衡1
1.Nginx负载均衡Redis 服务器 IP地址 作用 系统版本 Nginx代理服务器 10.0.0.38 负载均衡服务器 Rocky8.6 Redis服务器1 10.0.0.18 Redis服务器 ...
- Java多线程-线程生命周期(一)
如果要问我Java当中最难的部分是什么?最有意思的部分是什么?最多人讨论的部分是什么?那我会毫不犹豫地说:多线程. Java多线程说它难,也不难,就是有点绕:说它简单,也不简单,需要理解的概念很多,尤 ...
- GY91(MPU9250 + BMP280)惯性传感器开发指南
目录 参考资料 I2C 设备ID 关键数据读取 MPU6500:读取加速度数据&换算单位 BMP280: 读取温度和气压信息 & 单位换算 推荐库 参考资料 参考资料说明: 用户手册时 ...
- vs 自定义代码块
代码自动生成,让代码飞~ 我目前用的是vs2013,c,c++用的多,vs自带了一套代码块规则,下面我们就以for举例子. 1 原生代码块怎么使用 输入for后按Tab键: 这时候可以修改 size_ ...
- Java 超新星开源项目 Solon v1.10.10 发布
一个更现代感的 Java 应用开发框架:更快.更小.更自由.主框架仅 0.1 MB.Helloworld: @Controller public class App { public static v ...
- Go map 竟然也会发生内存泄露?
Go 程序运行时,有些场景下会导致进程进入某个"高点",然后就再也下不来了. 比如,多年前曹大写过的一篇文章讲过,在做活动时线上涌入的大流量把 goroutine 数抬升了不少,流 ...
- Nginx重写功能(rewrite与location)
一.常用的Nginx 正则表达式 二.访问路由location 2.1location的分类 location 大致可以分为三类: 精准匹配:location = / {} 一般匹配:location ...
- 打不开 github 的方法与推荐基于Vue3与Element plus的后台管理系统
一.打不开 github 的方法 1.打开本机 hosts 文件(C:\Windows\System32\drivers\etc) 2.然后在 hosts 文件里的末尾放入一下两个 IP 地址: # ...
- 小程序canvas2D绘制印章,话不多说,直接上代码
效果图: CanvasContext 是旧版的接口,不维护了, 新版 Canvas 2D 接口与 Web 一致 官方文档: https://developers.weixin.qq.com/mini ...
- C# Panel动态添加滚动条
/// <summary> /// panel控件的事件:在向该控件添加控件时发生 /// </summary> private void panel1_ControlAdde ...