书的示例是Java语言编写的,虽说不会影响阅读,但是后面几章讲应用这套方法论的时候,大篇幅的Java代码分析还是挺难受的,而且连java测试框架Junit都要细讲,对于非Java系的开发者来说,一些内容确是云里雾里。
书的前2/3能够适用全部的开发者,读完有很大收获。后面1/3讲到依赖注入,AOP等内容,这已经是Java的高级理论了,没有基础的读者理解起来还是比较费劲的。还有就是自动化测试是为开发者提供了很好的重构基础,不过这个实践还是需要在大公司才有机会尝试。
以下总结了一些自己阅读时的一些要点,虽然还未来得及切身实践,拜读之时却也颇有感受,这种书还是要反复阅读,实践之后会有更多体会。

代码整洁之道

  • 程序员遵从不了解混乱风险的经理的意愿,也是不专业的做法
  • 整洁的代码只做好一件事
  • NameString会比Name好吗?难道Name会是一个浮点数不成?
  • 明确是王道
  • 类名不应当是动词
  • 给每个类添加“GSD”前缀就不是什么好点子,为什么要搞得IDE没法帮助你?
  • 函数的第一规则是要短小,第二条规则是还要更短小
  • 函数应该做一件事,做好这件事,只做这一件事
  • 对于switch语句,我的规矩是如果只出现一次,用于创建多态对象,而且隐藏在某个继承关系中,在系统其他部分看不到,就还可能忍受
  • 标识参数丑陋不堪,宣布本函数不止做一件事,true or false
  • 当一组参数被共同传递,就像point的x、y那样,往往可以从参数创建对象,从而减少参数数量
  • 最好把try/catch代码块的主体部分不分抽离出来,另外形成函数
  • 我并不从一开始就按照规则写函数,我想没人做得到
  • 别给糟糕的代码加注释——重新写吧
  • 直接把代码注释掉是讨厌的做法,别这么干
  • 你今天编写的功能,极有可能在下一版本中被修改,但代码的可读性却会对以后可能发生的修改行为产生深远影响
  • 类并不简单地用get和set将其变量推向外间,而是暴露抽象接口,以便用户无需了解数据的实现就能操作数据本体
  • 过程是代码便于在不改动既有数据结构的前提下添加新函数,面向对象代码便于在不改动既有函数的前提下添加新类。
  • 对象暴露行为,隐藏数据;数据结构暴露数据,没有明显的行为
  • 当错误发生时,程序员有责任确保代码照常工作
  • 如果无法为某个类命以精确的名称,这个类大概就太长了
  • 系统应该由许多短小的类而不是少量巨大的类组成
  • 通常而言,方法操作的变量越多,就越粘聚到类上(内聚UP)
  • 软件项目的主要成本在于长期维护
  • 对象是过程的抽象,线程是调度的抽象

[读书笔记] 代码整洁之道相关推荐

  1. [读书笔记] 代码整洁之道(一)

    最近读完了马丁的clean code,颇有收获,简单整理下读书笔记,虽然整书是以Java代码做代码示例,但语言无国界,特别是编程语言更是如此,不管你从事的是以何种语言为主的开发环境,我相信,从本书中都 ...

  2. 《代码整洁之道 Clean Architecture》-读书笔记

    大家好,我是烤鸭: 关于<代码整洁之道>,记录一下读书笔记. 代码整洁之道 第一章 整洁代码 整洁代码的艺术 第二章 有意义的命名 避免误导 有意义的区分 使用读得出来和可搜索的名字 避免 ...

  3. 《代码整洁之道 clean code》 读书笔记(上篇)

    <代码整洁之道 clean code> 读书笔记(上篇) 这本书我准备用较快的时间来读一下,简单记录一下自己的一些读完的感悟,因为更多地编码技巧还是需要在实际编程和读源码的过程中进行锤炼. ...

  4. 《代码整洁之道》细节之中自有天地,整洁成就卓越代码 读书笔记

    <代码整洁之道>细节之中自有天地,整洁成就卓越代码 读书笔记 There are only two hard things in Computer Science: cache inval ...

  5. (读书笔记)代码整洁之道-命名部分

    代码整洁之道读书笔记 有意义的命名 (只是做个笔记加深记忆,并且可以时不时提醒自己) 命名应该明确 它为什么存在,它能做什么事,它怎么用 达到在不用注释的情况下说明意义 避免产生误导 比如可能的专有词 ...

  6. 《代码整洁之道》(Clean Code)- 读书笔记

    一.关于Bob大叔的Clean Code <代码整洁之道>主要讲述了一系列行之有效的整洁代码操作实践.软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发流派 ...

  7. 代码整洁之道(Clean Code)- 读书笔记

    Sorry, 许久未更新文章了,主要因为刚刚换了一家新公司,忙于组建团队(建设.招聘.流程.框架等)与熟悉公司业务,还有领导给的其他工作等等,实在是没有时间更新了.最近在和团队分享Bob大叔的< ...

  8. 代码整洁之道 Clean Code 读书笔记

    目录 代码整洁之道 Clean Code 第一章 整洁代码 第二 三章 命名与函数 第四 五章注释与格式 第六章 对象和数据结构 第七章 错误处理 第八章 边界 第九章 单元测试 第十章 类 第十一章 ...

  9. 《代码整洁之道》读书笔记✍ 教你写 clean code

    代码整洁之道 第一章 整洁代码 1.1 什么是整洁的代码? 资深程序员告诉你什么是整洁的代码,下面详细介绍了Bjarne Stroustrup的描述,其他描述就不一一列出了,在此只记录几个关键点. 我 ...

最新文章

  1. 等概率随机函数的实现
  2. legend3---lavarel多对多模型操作实例
  3. IMX6ULL的GPIO操作方法
  4. error: 'syms' undefined near line 1 column 1
  5. window 下Qt for android 环境搭建
  6. Netty源码注释翻译-Channel类
  7. 15 - java 继承
  8. 信息学奥赛一本通 1181:整数奇偶排序 | OpenJudge NOI 1.10 06:整数奇偶排序
  9. elementui 表格英文加数字排序_解决vue elementUI中table里数字、字母、中文混合排序问题...
  10. 【渝粤教育】 广东开放大学21秋期末考试会议运行管理10036k2
  11. Springmvc 的post请求的json格式参数
  12. 编程与python的区别_python与其他编程语言区别全在这
  13. php网页象棋源码,JS小游戏之象棋暗棋源码详解_javascript技巧
  14. 手机连接hp打印机打印
  15. elasticsearch使用中文拼音混合搜索的痛点解决
  16. 微信网页开发(1)--微信网页与普通网页区别
  17. 常用的数学基础知识集锦
  18. 如何删除tmp计算机桌面,win10系统下tmp临时文件删除不了如何解决
  19. idea注意事项和java数据类型
  20. 1、关于douyin 小红书等平台 人均985 211的想法

热门文章

  1. win10 4k分屏 eclipse等工具打开后按钮图标大小问题解决方案
  2. linux下删除已经创建的数据库,MongoDB 数据库的创建和删除
  3. C++ 获取类型信息
  4. linux下软件包清理,Linux运维知识:如何清理Linux系统中的孤立、无用的软件包
  5. tb项目管理实践_项目经理与项目管理整理
  6. 【youcans 的 OpenCV 例程200篇】150. 边缘检测梯度算子
  7. matlab的fftn,matlab fftn
  8. LINUX无法运行navixat,关于RX5700XT的驱动方法以及bug解决方案
  9. flog和flag_FLAG:写作,英语和持续学习
  10. python文本筛选html_python 正则表达式过滤文本中的html标签 源代码解析