![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码整洁之道读书笔记
pengboboer
啊
展开
-
代码整洁之道读书笔记——第十一章:系统 && 第十二章:迭进
第十一章 系统复杂要人命。它消磨开发者的生命,让产品难以规划、构建和测试11.1 如何建造一个城市城市能运转,还因为它演化出恰当的抽象等级和模块11.2 将系统的构造和使用分开原创 2020-11-04 18:33:17 · 221 阅读 · 0 评论 -
代码整洁之道读书笔记——第十章:类
第十章 类10.1 类的组织从上往下,从一组变量列表开始:公共静态常量、私有静态变量,私有实体变量封装我们喜欢保持变量和工具函数的私有性,有时需要用到受保护变量或工具函数,好让测试可以访问到我们首先会想办法使之保有隐私,放松封装总是下策10.2 类应该短小70个方法的类确实有些太长了,5个方法的类虽然方法数少,但是拥有太多的权责类的名称应当描述其权责10.2.1 单一权责原则类或者模块应该有且只有一条加以改变的理由鉴别权责(修改的理由)常常帮助我们再代码中认原创 2020-10-24 16:53:50 · 235 阅读 · 1 评论 -
代码整洁之道读书笔记——第九章:单元测试
第九章 单元测试编写单元测试是很有必要的9.1 TDD三定律测试驱动开发在编写不能通过的单元测试前,不可编写生产代码 只可编写刚好无法通过的单元测试,不能编译也算不通过 只可编写刚好足以通过当前失败测试的生产代码总的来说就是先写测试再写生产代码,写一个测试就应该立即写它的实现代码9.2 保持测试清洁...原创 2020-10-24 11:32:09 · 212 阅读 · 0 评论 -
代码整洁之道读书笔记——第八章:边界
第八章 边界我们很少能控制系统中的全部软件,有时用的第三方或者开源代码,有时用我们公司其他人打造的组件或者子系统,无论哪种情况,我们都得将外来的代码干净利落地整合进自己的代码中8.1 使用第三方代码第三方API的作者追求普适性,吸引广泛的用户。使用者想要集中满足特定的需求,这两者有一种张力,会导致系统边界上出问题作者举了一个例子:// 这段代码不太整洁,而且没说明自己的用途Map sensors = new HashMap();Sensor s = (Sensor)senso原创 2020-10-23 18:25:25 · 231 阅读 · 0 评论 -
代码整洁之道读书笔记——第七章:错误处理
第七章 错误处理7.1 使用异常而非返回码如果给调用者返回某些错误码,可能会导致代码凌乱不堪,我们应该用异常去替代错误码作者给出的例子就不说了,使用异常后,我们的代码整洁了许多。。。7.2 先写Try-Catch-Finally语句在编写可能抛出异常的语句时,最好先写出try-catch-finally语句7.3 使用不可控异常可控异常的代驾就是违反开放、闭合原则,对于一般的应用开发,我们尽量使用不可控异常7.4 给出异常发生的环境说明应创建信息充分的错误消原创 2020-10-23 16:25:27 · 226 阅读 · 0 评论 -
代码整洁之道读书笔记——第六章:对象和数据结构
第六章 对象和数据结构6.1 数据抽象作者通过一个例子说明了暴露实现和隐藏实现一种是类中包含public修饰的变量,另一种是抽象接口不愿暴露细节,更愿意以抽象形态表述数据。不要傻乐着乱加取值器和插值器6.2 数据、对象的反对称性这一小节说了一个问题,就是过程式代码和面向对象式代码,其实我对此也是深有感触我们就说一个实战问题,系统中有3个角色:学生、老师、校长有很多界面,因为角色的不用需要展示不同的view,或者说有不同的功能如果我们用过程式代码来写:priva原创 2020-10-22 01:51:22 · 187 阅读 · 0 评论 -
代码整洁之道读书笔记——第五章:格式
第五章 格式团队应该一致同意采用一套简单的格式规则5.1 格式的目的能让代码工作,这是最基本的要求。但是代码格式同样很重要,我们今天编写的功能,很有可能下一个版本就会被修改5.2 垂直格式短文件通常比长文件易于理解5.2.1 向报纸学习名称应该一目了然,而且报纸的文章多数短小精悍5.2.2 概念间垂直方向上的区隔变量之间可以不用空行,方法和方法间要空行,变量和方法之间也要空行,空白行隔开了概念5.2.3 垂直方向上的靠近靠近的代码暗示了它们之间的紧密关系原创 2020-10-21 11:34:58 · 253 阅读 · 2 评论 -
代码整洁之道读书笔记——第四章:注释
第四章 注释尽管需要注释,但是我们尽量减少注释4.1 注释不能美化糟糕的代码与其花时间为那些糟糕的代码写注释,还不如花时间好好清理那些糟糕的代码4.2 用代码来阐述很多时候代码就可以解释我们大部分的意图比方这样的代码:你愿意看到这个?if (info.gender == FEMALE && info.age == ADMIN)还是这个?if (info.isFemaleAdmin())我们只需要创建一个描述与注释所言同原创 2020-10-21 02:22:02 · 198 阅读 · 0 评论 -
代码整洁之道读书笔记——第三章:函数
第三章 函数作者将一个复杂的函数提炼为9行代码,告诉了我们什么样的代码易于阅读3.1 短小作者的建议是一个函数封顶20行最佳,每个函数之说一件事,每个函数依序把你带入下一个函数。if、else、while语句等,其中的代码应该只有一行,大概是一个函数的调用语句。调用函数应具有比较有说明性的名称,这样也能增加一定的文档的价值。我这么理解:20行封顶、函数带入函数、控制代码块中的行数、控制缩进。我们可能无法做到作者说的if、else、while语句的代码块只有一行,缩进层级只是一层原创 2020-10-20 18:40:06 · 220 阅读 · 0 评论 -
代码整洁之道读书笔记——第一章:整洁代码
软件质量,不仅仅依赖于项目架构和项目管理,同样重要的是代码质量!!!序神在细节之中,其实干什么事都一样,从小到大,一直明白一个道理:细节决定成败!软件架构在开发中占据重要地位。其次,宏达建筑的最细小的部分,比如关不紧的门、有点没铺平的地板,甚至是凌乱的桌面,都会将整个大局毁灭殆尽。这就是代码整洁之所道。全员生产维护(TMP),TMP的主要支柱之一就是5S原则体系,5S哲学包括...原创 2018-11-15 00:57:57 · 582 阅读 · 0 评论 -
代码整洁之道读书笔记——第二章:有意义的命名
第二章 有意义的命名2.1 介绍在软件开发中,我们各种命名,不断的命名,有这么多的命名,一定要做好它!2.2 名副其实选个好名字要花很多时间,而且对于我们中国的程序员来说,选一个好的英文名字更要精挑细选,但是省下来的时间远比花掉的多,一个名称基本就答复了你所有的大问题,如果名称需要注释来补充,那就不算名副其实!书中通过一个变量、一个简单的包含一个for循环的方法,说明了名...原创 2018-11-16 02:33:29 · 236 阅读 · 0 评论