zoukankan      html  css  js  c++  java
  • 《代码大全》阅读笔记03

    第五章:软件构建中的设计
    1、软件的首要技术使命就是管理复杂度,以简单性作为努力目标的标记方案对此最有帮助。
    2、好的设计是迭代的,你尝试设计的越多,你的最终方案就会约好。
    3、隐藏实现、封装变化。

    第六章:可以工作的类
    1、类的接口应该提供一致的抽象。很多问题都是由于违背该原则而引起的。
    2、类的接口应该隐藏一些信息,如某个系统接口、某项设计决策、或一些实现细节。
    3、包含(组合、聚合)往往比继承更可取,除非是要对一个“is a”的关系建模。
    4、限制继承的层次,继承是一种有用的工具,但它却会增加复杂度,这有违软件的首要使命-管理负责度。
    5、类是管理复杂度的首先工具。要在设计类时给予足够的关注,才能实现这一目标。
    6、尽量减小类和类之间相互合作的范围,让以下几个数字最小:
    ①所实例化的对象的种类;
    ②在被实例化对象上直接调用的不同子程序的数量;
    ③调用的“通过其他对象返回的”对象的子程序的数量;(A通过调用B的返回值C来调用C的方法,)

    第七章:高质量的子程序
    1、为什么要创建子程序?
    提高程序的可读性,减少以及隔离程序复杂度,提高代码复用率,在代码变更时减少带来的影响(功能变更,变更导致的测试),可移植性,方便后期优化,隐藏复杂逻辑结构等的实现细节......
    2、如何设计子程序?
    保证子程序功能的内聚性,既一个子程序只完成一个功能。避免其它的内聚性,比如逻辑上的内聚性,顺序上的内聚性等。
    3、什么是好的子程序名字?
    能够描述子程序所做的事情,使用动宾结构,并且对返回值有所描述,比如checkOrderInfo,使用对仗词(比如get/set,create/destroy),一般命名长度为9~15个,在一个项目里最好给一些通用的操作确立命名规则(比如创建、更新记录时),避免模糊命名(比如detail);
    4、子程序可以多长?
    考虑事项:子程序的功能的内聚性,嵌套的层次,变量的数量,决策点的数量等;
    研究表明应该一般不超过200行,
    5、如何使用子程序参数?
    按照输入、修改、输出的顺序排列参数;
    如果几个程序都用了类似的一些参数,应该让这些参数的排练顺序保持一致;
    不要把子程序的输入参数用作工作变量,工作变量最好在子程序中创建,保证参数尽量不被改变;
    把子程序的参数个数限制在大约7个以内,且保证每一个参数都被用到;
    为子程序传递用以维持其借口抽象的变量或对象,传递给子程序什么类型的参数,应该为对子程序而言,哪种方式对子程序更方便;

  • 相关阅读:
    C语言中指针*p[N], (*P)[N],及**p的区别
    一个酷炫的,基于HTML5,Jquery和Css的全屏焦点图特效,兼容各种浏览器
    day10函数作业详解
    day9函数作业详解
    day7计算作业详解
    day6作业详解
    通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
    使用Docker快速部署ELK分析Nginx日志实践(二)
    java 字符串转运算符
    生成给定范围的n随机整数
  • 原文地址:https://www.cnblogs.com/j-y-s/p/14162416.html
Copyright © 2011-2022 走看看