第十一章讲的是系统,将讨论如何在较高的抽象层级--系统层级--保持整洁。

11.1 将系统的构造与使用分开。首先,构造与使用是非常不一样的过程。每个应用都该留意启始过程。
11.2 扩容。
十二章是迭进。
12.1 通过迭进设计达到整洁目的。1、运行所有测试。2、不可重复。3、表达了程序员的意图。4、尽可能减少类和方法的数量。
12.2 重构。提升内聚,降低耦合度、切分关注面、模块化系统性关注面、缩小函数和类的尺寸、选用更好的名称,如此等等。
12.3 不可重复。重复是拥有良好设计系统的天敌。代表着额外的工作、额外的风险和额外且不必要的复杂度。
12.3.1 模板方法模式是一种移除高层级重复的通用技巧。
12.4 表达力。软件项目的主要成本在于长期维护。为了在修改时尽量降低出现缺陷的可能性,很有必要理解系统是做什么的,所以代码应当清晰地表达其作者的意图。
12.4.1 选用好的名称来表达、保持函数和类尺寸短小来表达。做到有表达力的最重要方式却是尝试。有太多时候,我们写出能工作的代码,就转移到下一个问题,没有下足功夫调整代码,让后来者易于阅读。记住,下一个读代码的人最有可能是自己。
12.5 尽可能少的类和方法。为了保持类和函数短小,我们可能会造出太多的细小类和方法,所以这条规则也主张函数和类的数量要少。

《代码简洁之道》读书笔记之五:系统和迭进相关推荐

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

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

  2. 《代码整洁之道 》第十二章 迭进

    第十二章 迭进 12.1 通过迭进设计达到整洁目的 据Kent认为,只要遵循了下面的规则,设计就能变得简单 运行所有测试 不可重复 表达了程序员的意图 尽可能减少类和方法的数量 12.2 简单设计规则 ...

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

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

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

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

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

    1.整洁代码 阅读本书有两个原因,第一,你是个程序员,第二,你想成为更好的程序员 1.1 要有代码 有人认为随着时代的发展,写代码不再是问题,我们更应该关注建模和需求 这句话后半句没有问题,因为语言在 ...

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

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

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

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

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

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

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

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

  10. 第一行代码Android第二章读书笔记

    第一行代码Android第二章读书笔记 Activity 1.1 手动创建活动 1.2 Toast和Menu/销毁活动 Intent 2.1 显示/隐式 2.2 传递/返回数据 活动的生命周期 3.1 ...

最新文章

  1. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例
  2. freemarker 读取字符串模板,(非文件)
  3. etcd+calico集群的部署
  4. 成功解决SQL Server软件中出现的18470问题
  5. select2 手动输入匹配下拉框内容可多选
  6. java相关技术简介_java技术简介?
  7. php文件上传后没有打开权限_记墨者靶机文件上传(二)
  8. caffe运行不停止_caffe(gpu)安装过程及问题解决
  9. easy excel根据行列excel_Excel函数如何根据地级市匹配所在省份计算快递费用
  10. java中什么是数组_JAVA中关于数组的定义
  11. 网络攻防|一次实战中的向日葵 RCE Bypass 360
  12. 嵌入式单片机及外设(硬件)知识基础一
  13. UE4 Slate四 SlateUI如何做动画
  14. 云脉档案管理彻底解决纸质数据问题
  15. python列表切片习题(一)
  16. vue中设置显示默认图片
  17. html+css常见面试问题汇总
  18. 北大青鸟 JQuery 制作特效 第一章 课后简答题
  19. 【异常检测-论文阅读】(CVPR 2022)Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection
  20. 基于Springboot 的实验室检测信息管理系统

热门文章

  1. 6个月linux/bsd综合排名前一百
  2. Misc Buu wp 1
  3. 【转载】正确解决:坑爹的0xc000007b——应用程序无法正常启动
  4. 微信公众号之微信登录失败,redirect_uri域名与后台配置不一致,错误代码10003
  5. flutter 合并数组及操作符
  6. android实现数组倒序,5.1.33 33.数组中的逆序对 - Android 校招面试指南
  7. [转帖]纯属娱乐——变形金刚vs天网
  8. ajax 获取服务器时间
  9. 【第022篇】解决win10系统使用Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足
  10. 单片机 CH340下载 反向串联二极管