1. 创建子程序的理由
      1. 降低复杂度
      2. 引入中间、易懂的抽象
      3. 避免代码重复
      4. 支持子类化
      5. 隐藏顺序
      6. 隐藏指针操作
      7. 提高可移植性
      8. 改善性能
      9. 隐藏实现细节
      10. 限制变化所带来的影响
    2. 设计子程序
      1. 目标:每一个子程序只做好一件事
      2. 功能的内聚性:是最强也是最好的一种内聚性,也就是让子程序仅执行一项操作
      3. 好的子程序名字:
        1. 避免使用无意义的、模糊或表述不清楚的动词
        2. 不要仅通过数字来形成不同的子程序名字 如part1..part2…
          1. 变量名的最佳长度是9-15
        3. 给函数命名时要对返回值有所描述
        4. 给过程起名时使用语气强烈的动词加宾语的形式 如checkOrderInfo()
        5. 常见的对仗词
          1. add /remove open/close insert/delete create/destroy get/put
    3. 如何使用子程序参数
      1. 按照输入-修改-输出的顺序排列参数
      2. 如果几个参数都使用了类似的一些参数,应该让这些参数的排列顺序保持一致
      3. 使用所有的参数
      4. 把状态或出错变量放到最后
      5. 在接口中对参数的假定加以说明
      6. 子程序的参数个数限制在7个以内