《Clean Code》读书笔记-1

  1. 代码质量与其整洁度成正比
  2. 干净的代码
  3. 本书适用于有志于改善代码质量的程序员及技术经理
  4. 丹麦谚语:“小处诚实非小事。”
  5. 神在细节之中
  6. 什么是敏捷软件开发?
  7. TDD,测试驱动开发(Test Driven Development)
  8. 借喻:
    (1)架构:建筑师交付毛坯房一般交付初始软件产品。
    (2)Scrum:装配线式的日本骑车生产方式。
  9. 对于汽车工业和软件,大量的工作并不在于生产而在于维护(也就是修修补补),或避免维护。
  10. 1951年,一种名为“全员生产维护”(Total Poductive Maintenance)的质量保证手段在日本出来先,它关注维护甚于生产。其主要只煮之一是5S原则体系。
  11. 良好的软件实践遵循这些规程:专注、镇定和思考。
  12. 5S哲学
    (1)整理sort:搞清事物之所在,合适的命名标识。
    (2)整顿Seiton:(整齐),物皆有其位,而后物皆归其位。(A place for everything, and everything in its place.)
    (3)清楚shine:实现代码的自我注释
    (4)清洁:标准化
    (5)身美:自律,在实践中贯彻规程,并时时体现于个人工作上,而且要乐于改进。
  13. 要关注产品的生命周期。
  14. 干活的四个层次:
    (1)等到错误出现再去维修。
    (2)更上一层楼,每天检查机械,在磨损机件停止工作之前就换掉它。
    (3)一开始就打造更易维护的机械。
    (4)终极实践:关注用全新机械替代旧机械。(每7年就重做一次软件的主要模块,清理缓慢陈腐的代码。)
  15. 认真对待每个变量名,你当用为自己第一个孩子命名般的谨慎来给变量命名。
  16. 每首诗歌都无写完之时,得持续重写,直至放弃为止。
  17. 全心倾注于细节,屡见于追求卓越的行为之中。
  18. 他们居然通过简单地保持一致缩进风格创造了价值。
  19. 质量是上百万次全新投入的结果——而非仅归功于任何来自天堂的伟大方法。这些行为简单却不简陋,也不意味着简易。相反,他们是人力所能达的不仅伟大而且美丽的造物。
  20. “代码即设计”、“简单代码”
  21. 我们应当视代码为设计——作为过程而非终点的设计——这种高尚行为的漂亮表现。耦合与内聚的架构在代码中脉动。
  22. 无论架构还是代码都不强求完美,只求竭诚尽力而已。
  23. To err is human; to forgive, divine.人孰无过,神亦容之。在Scrum中,我们使一切可见。我们晾出脏衣服。我们坦承代码状态,因为它永不完美。我们日渐成为完整的人,配得起神的眷顾,也越来越接近细节中的伟大之处。
  24. 假使干净的地板能减少事故发生,假使归置到位的工具能提升生产力,我也会倾力左到。
  25. 对高瞻远瞩的练习也已结束,我要去清理自己的书桌了。
  26. 写整洁的代码需要遵循大量的小技巧。
  27. 作者阐述了在命名、函数、注释、代码格式、对象和数据结构、错误处理、边界问题、单元测试、类、系统、并发编程等方面如何做到整洁的经验和最佳实践。
  28. 代码感。
  29. 展示了Bob本人对3个Java项目的剖析与改进过程的实操记录。
  30. Test Obsessed(沉迷测试)
  31. 我做出了写出整洁代码的承诺。
  32. craftsmanship
  33. 习艺之要有二:知和行。你应当习得有关原则、模式和实践的知识,穷尽应知之事,并且要对其了如执掌,通过刻苦实践掌握它。(就像其自行车和游泳一样,唯有实践。)
  34. 阅读本书需要自己实践,体验自己的失败,还需要观察他人的实践与失败。
  35. 阅读本书需要你非常的用功,如何用功?阅读大量的代码。
    然后去琢磨某端代码好在什么地方、坏在什么地方?是如何分解、和组合模块的?
  36. 本书分为3个部分:
    第一部分:介绍编写整洁代码的原则、模式和实践。
    第二部分:介绍几个复杂性不断增加的安利研究
    第三部分:列出上述案例研究中得到的启示和灵感。
  37. 我们尝试去理解自己对阅读和修改代码的反应,尽力了解为什么会有这样的感受,为什么如此行事。结果得到了一套描述在编写、阅读、清理代码时思维方式的知识库。
  38. 花时间琢磨那些案例,以作者的思维路径考虑问题,自行车就如同其身体延申部分一样,而不再是“感觉不错”的知识。

 

第一章:

1. 代码永存

  1. 人类模糊的感觉人类自己又是都理解不了,所以不太能产出能满足人类模糊需求和感觉的写代码机器,那得机器透彻地理解人类才行。
  2. 代码即规约的一种,规约永存。

2. 烂代码就像沼泽一样,我们要关注代码的整个生命周期。

3. Later equals never.(不要写个烂程序然后说,等等再修缮)

4. 花时间保持代码整洁不但有关效率,还有关生存。

5. 赶上期限的唯一方法——做得快的唯一方法——就是始终尽可能保持代码整洁。

6.优雅的代码:外表或举止上令人愉悦的优雅和美观;令人愉悦的精致和简单。(划重点:令人愉悦)

7. 破窗效应:一扇破损的窗户开辟了大厦走向倾颓的道路。

8.整洁的代码只做好一件事,糟糕的代码想做太多事,它意图混乱、目的含混。整洁的代码力求集中。每个函数、每个类和每个模块都全神贯注于一事,完全不受四周细节的干扰和污染。(人也是如此)

9.什么是整洁的代码?
①优雅高效②直截了当、干净利落的代码逻辑③减少依赖关系④整洁的代码只做好一件事(意图明确)⑤可读性高⑥可由作者之外的开发者阅读和增补⑦应有单元测试和验收测试⑧代码应在字面上表达其含义,即“字面编程”。⑨整洁的代码总是看起来像是某位特别在意它的人写的,几乎没有改进的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点,赞叹某人留给你的代码——全心投入的某人留下的代码。

10. 不要重复代码、只做一件事、表达力、小规模抽象。

11. 我们是作者,写代码的时候记得自己是作者,要为评判你工作的读者写代码。

12. 让代码更易读:在写代码的时候,读与写的比例超过10:1。写新代码时,我们一直在读旧代码。既然比例如此之高,我们就想让读的过程变得轻松,即使那会使得编写过程更难。没可能光读不写,所以使之易读实际也使之易写。不读周边代码的化就没法写代码,编写代码的难度,取决于读周边代码的难度。

13. 军规:“让营地比你来时更干净。”
改好一个变量名、拆分一个有点过长的函数、消除一点点重复代码、清理一个嵌套if语句。

14.持续改进是专业性的内在组成部分。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值