zoukankan      html  css  js  c++  java
  • 《代码整洁之道》阅读笔记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.防御并发代码问题的原则与技巧

    • 遵循单一职责原则。分离并发代码与非并发代码
    • 限制临界区数量、限制对共享数据的访问。
    • 避免使用共享数据,使用对象的副本。
    • 线程尽可能地独立,不与其他线程共享数据
  • 相关阅读:
    符号修饰与函数签名、extern “C”
    WinInet单线程断点续传下载
    关掉"离开模式“,解决计算机无法进入睡眠状态
    链接库——动态链接库
    Google开源项目风格指南——类
    使用CURL读取HTTP数据到字符串或者文件中
    Wininet多线程断点续传下载
    contains
    [转]在linux下如何使用Makefile对fortran程序进行编译
    【转】一些解决变态数学公式的算法地址
  • 原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/14941533.html
Copyright © 2011-2022 走看看