1.整洁代码

阅读本书有两个原因,第一,你是个程序员,第二,你想成为更好的程序员

1.1 要有代码

有人认为随着时代的发展,写代码不再是问题,我们更应该关注建模和需求

这句话后半句没有问题,因为语言在发展、在进步,但是无论语言发展的如何强大,最终的精确性都需要代码来实现,所以代码是不可被丢弃的

1.2 糟糕的代码

问:为什么会有糟糕的代码?

答:想着快点完成;赶时间;老板给的时间不足以写出好的代码;先完成需求,之后在对代码进行优化;能运行的代码总比没有强

其实当你有了之后回头优化的想法,大概率你也不会优化了

勒布朗说过:稍后等于永不

1.3 混乱的代价

相信很多有工作经验的人,都经历过前人的代码,被这种代码拖累,导致整个团队生产力下降,这时候技术leader就会投入更多的人,然后新人并不了解代码,也不知道如何修改代码,导致就按照自己的想法写代码,最终导致代码越来越混乱,直到生产力降到0

1.3.1 华丽新设计

出现了上面的问题,人们的第一想法就是:摒弃老的代码,做一个全新的设计,这是一个好的思路,也是一个正确的思路,但是从老迁移到新的时间成本很高,在没有完全迁移完成,老的系统也没法下掉,就这样我们进行新老系统的维护,一旦设计新系统的人离职了,可能新来的成员又要进行设计新系统了,因此我需要花时间去保持代码的整洁

1.3.2 态度

写代码的态度也决定你写的代码好坏,不知道你是否经历过要花费几个星期来完成本应该几个小时的工作,是否经历过只需要做一行改动,却设计上百个模块的情况?

为什么会发生这样的事,为什么好的代码会很快变成糟糕的代码?

我们抱怨需求变化背离了初期设计。我们哀叹进度太紧张,没法干好活。我们把问题归咎于那些愚蠢的经理、苛求的用户、没用的营销方式等,代码自然就写不好了

程序员遵从不了解混乱风险的经理的意愿,也是不专业的做法。

1.3.3 谜题

程序员面临着一种基础价值谜题。有那么几年经验的开发者都知道,之前的混乱拖了自己的后腿。但开发者们背负期限的压力,只好制造混乱。简言之,他们没花时间让自己做得更快!真正的专业人士明白,这道谜题的第二部分说错了。制造混乱无助于赶上期限。混乱只会立刻拖慢你,叫你错过期限。赶上期限的唯一方法—做得快的唯一方法—就是始终尽可能保持代码整洁。

1.3.4 整洁代码的艺术

写整洁代码,需要遵循大量的小技巧,贯彻刻苦习得的“整洁感”。这种“代码感”就是关键所在。有些人生而有之。有些人费点劲才能得到。它不仅让我们看到代码的优劣,还予我们以借戒规之力化劣为优的攻略。

缺乏“代码感”的程序员,看混乱是混乱,无处着手。有“代码感”的程序员能从混乱中看出其他的可能与变化。“代码感”帮助程序员选出最好的方案,并指导程序员制订修改行动计划,按图索骥。

简言之,编写整洁代码的程序员就像是艺术家,他能用一系列变换把一块白板变作由优雅代码构成的系统。

1.3.5 什么是整洁代码

大家对整洁代码,都有着自己的理解,今天我就说一下大家公认的整洁代码的规范

1.只做好一件事(每个函数、每个类、每个模块都全神贯注于一事,不受四周细节的干扰和污染)

2.可读性强

3.有单元测试

4.易于作者之外的人修改

5.代码尽量简单、少

6.没有重复代码

7.有意义的命名

1.6 童子军军规

代码必须时时保持整洁

1.7 前传与原则

在本书中,你会发现对不同设计原则的引用,包括单一权责原则(Single ResponsibilityPrinciple, SRP)、开放闭合原则(Open Closed Principle, OCP)和依赖倒置原则(Dependency Inversion Principle, DIP)等。

1.8 小结

本书会看到好的代码,也会有糟糕的代码,会学习到如何从糟糕的代码转换为好代码,要时刻保持、提醒自己,保持代码的整洁

代码整洁之道-读书笔记之整洁的代码相关推荐

  1. 代码整洁之道读书笔记——第一章:整洁代码

    软件质量,不仅仅依赖于项目架构和项目管理,同样重要的是代码质量!!! 序 神在细节之中,其实干什么事都一样,从小到大,一直明白一个道理:细节决定成败! 软件架构在开发中占据重要地位.其次,宏达建筑的最 ...

  2. 代码整洁之道 读书笔记

    第1章 整洁代码 1.1 要有代码 1.2 糟糕的代码      稍后等于永不 1.3 混乱的代价 假设前期不注意.后期的加入代码.改动效率都很低 1.3.1 华丽新设计 1.3.2 态度 1.3.3 ...

  3. 代码整洁之道-读书笔记1

    第一章 整洁代码 1.2糟糕的代码 糟糕的代码会毁掉一个公司,但是为什么会出现糟糕的代码? 可能是因为赶时间,如果花时间重构或者清理以前的代码,老板就会大发雷霆. 勒布朗法则:稍后等于用不. 1.3混 ...

  4. 软件架构整洁之道-读书笔记(3)

    第五部分:软件架构 第十五章:什么是软件架构 1.架构师是什么样的人? 首先软件架构师必须是能力最强的一群程序员,他们的代码产量可能不是最多的,但是他们必须不停的承接编程任务.如果不亲自承受因系统设计 ...

  5. 代码整洁之道读书笔记(Ch4-Ch7)

    这几章从注释.程序格式.对象与数据结构的规范以及错误处理四个方面介绍了如何使代码变得简洁易懂.不同于上次摘抄的方法,这一次我会结合第一次个人作业的代码进行分析. 第四章  注释 这一章告诉我们,好的注 ...

  6. 代码整洁之道----读书笔记

    一.有意义的命名规则 二.优雅的函数 三.良好的注释 四.整齐的格式 转载于:https://www.cnblogs.com/k5bg/p/11063235.html

  7. 什么是好代码-代码整洁之道阅读笔记

    根据我所阅读的书<代码整洁之道>里的一句话: "衡量代码质量的唯一有效标准: WTF/min" 从哲学的角度讲,不得不说这真的很客观!!! 毕业不久的我也没有太多关于好 ...

  8. 数据之道读书笔记-03差异化的企业数据分类管理框架

    数据之道读书笔记-03差异化的企业数据分类管理框架 不同的企业或组织基于不同的目的,可以从多个角度对数据进行分类,如结构化数据和非结构化数据.内部数据和外部数据.原始数据和衍生数据.明细数据和汇总数据 ...

  9. 数据之道读书笔记-06面向“自助消费”的数据服务建设

    数据之道读书笔记-06面向"自助消费"的数据服务建设 数据底座建设的目标是更好地支撑数据消费,在完成数据的汇聚.整合.联接之后,还需要在供应侧确保用户更便捷.更安全地获取数据.一方 ...

最新文章

  1. 在网页中JS函数自动执行常用三种方法
  2. 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)
  3. “局部图像特征描述概述”--樊彬老师
  4. LeetCode 1102. 得分最高的路径(优先队列BFS/极大极小化 二分查找)
  5. LeetCode 417. 太平洋大西洋水流问题(BFS/DFS)
  6. 中断触发流程三(中断控制器)
  7. TensorFlow、PyTorch 之后,“国产”AI 框架还有没有机会?
  8. 使用后缀自动机求后缀数组
  9. 铵钮提交事件PostBack之后,一些动态加载的物件丢失
  10. 解析大型.NET ERP系统 业务逻辑设计与实现
  11. UIWebView背景透明的方法
  12. 百度文库免费复制文字_这个工具让想所有东西都能复制,连百度文库都能复制!...
  13. 使用源码编译的方式安装Tor
  14. 关于word-break和word-wrap的使用和区别
  15. Gentoo Ebuild 和 Overlay
  16. 块存储、文件存储、对象存储的区别
  17. ubuntu检查端口是否开启_技术|使用 nc 命令检查远程端口是否打开
  18. 前端预览 PDF 文件几种方式汇总(使用PDFJS)
  19. 3D点云深度学习PointNet源码解析——pointnet_cls.py.py
  20. (Note)HTTP常见状态码(Status Code)

热门文章

  1. Java学习必备书籍推荐超级无敌终极版!
  2. python画图怎样写文字_python画图系列之个性化显示x轴区段文字的实例
  3. 收藏很久的开关电源书籍
  4. 这个项目获2022世界物联网博览会三新成果奖!
  5. UnityHLSLShader 函数笔记
  6. 用Cadence Virtuoso IC617仿真CMOS反相器
  7. 京东网站具有的服务器,【京东后台服务器开发面试】问的都是比较基础,但个人准备不够充分-看准网...
  8. python读取mt4数据_MT4下载历史数据
  9. ns2 + GT-ITM
  10. 【C语言编程1】删除数组中重复元素,并排序