• 《代码整洁之道》阅读笔记06


    系统1.将系统的构造与使用分开

    • 将全部构造过程搬迁到main或者被称之为main的模块中,涉及系统其余部分时,假设所有对象都已经正确构造。
    • 有时应用程序也需要负责确定何时创建对象,我们可以使用抽象工厂模式让应用自行控制何时创建对象,但构造能力在工厂实现类里,与使用部分分开。
    • 依赖注入(DI),控制反转(IoC)是分离构造与使用的强大机制。

    emergent design

    四条规矩帮助你创建优良的设计

    1.运行所有测试

    • 紧耦合的代码难以编写测试,测试写的越多,就越会遵循依赖注入之类的规则,使代码加减少耦合。
    • 测试消除了对清理代码就会破坏代码的恐惧。

    2.消除重复

    • 两个方法提取共性到新方法中,新方法分解到另外的类里,从而提升其可见性。
    • 模板方法模式是消除重复的通用技巧// 原始逻辑 public class VacationPolicy { public void accrueUSDivisionVacation { //do x; //do US y; //do z; } public void accrueEUDivisionVacation { //do x; //do EU y; //do z; } } // 模板方法模式重构之后 abstract public class VacationPolicy { public void accrueVacation { x; y; z; } private void x { //do x; } abstract protected void y { } private void z { //do z; } } public class USVacationPolicy extends VacationPolicy { protected void y { //do US y; } } public class EUVacationPolicy extends VacationPolicy { protected void y { //do EU y; } }

    3.表达意图

    • 作者把代码写的越清晰,其他人理解代码就越快。
    • 太多时候我们深入于要解决的问题中,写出能工作的代码之后,就转移到下一个问题上,没有下足功夫调整代码让后来者易于阅读。多少尊重一下我们的手艺,花一点点时间在每个函数和类上。

    4.尽可能少的类和方法

    • 为了保持类和函数的短小,我们可能会早出太多细小的类和方法。
    • 类和方法数量太多,有时是由毫无意义的教条主义导致的。

    5.以上4条规则优先级依次递减。重要的是测试、消除重复、表达意图。 并发编程 1.防御并发代码问题的原则与技巧

    • 遵循单一职责原则。分离并发代码与非并发代码
    • 限制临界区数量、限制对共享数据的访问。
    • 避免使用共享数据,使用对象的副本。
    • 线程尽可能地独立,不与其他线程共享数据
  • 相关阅读:
    Array.sort()对象数组排序
    ES6极简数组去重 & 深拷贝
    中文字符按拼音首字母排序(转)
    浏览器常用插件 & 开发常用类库
    异步&分段处理海量数据
    线上环境window.open()新窗口被拦截(转)
    git 版本回退(转)
    CSS字体渐变 & 隐藏浏览器滚动条 & grid布局(转载)
    Python3安装使用SaltStack以及salt-api详解
    Python3之 contextlib
  • 原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/14941533.html
Copyright © 2020-2023  润新知