高质量子程序特点 子程序是具有单一功能的可调用的函数或过程。 5.1 创建子程序的理由 · 降低复杂性 进行集中控制 避免重复代码段 改善可移植性 分隔复杂操作 5.2 子程序命名是否恰当 对于过程的名字,可以用一个较强的动词带目标的形式。 对于函数名字,可以使用返回值的描述。 5.3 强内聚性 内聚性指的是在一个子程序中,各种操作之间互相联系的紧密程度。 可取的内聚性: 功能内聚性。 顺序内聚性。 通讯内聚性。 临时内聚性。 不可取的内聚性: 过程内聚性。当子程序中的操作是按某一特定顺序进行的,就是过程内聚性。与顺序内聚 性不同,过程内聚性中的顺序操作使用的并不是相同数据。 逻辑内聚性。当一个子程序中同时含有几个操作,而其中一个操作又被传进来的控制标志 所选择时,就产生了逻辑内聚性。 偶然内聚性。当同一个子程序中的操作之间无任何联系时,为偶然内聚性。 5.4 松散耦合性 所谓耦合性指的是两个子程序之间联系的紧密程度。 耦合性与内聚性是不同的。内聚性是指一个子程序的内部各部分之间的联系程度,而耦合指的是子程序之间的联系程度。 5.5 子程序的长度 5.6 防错性编程 使用断言 输入垃圾不一定输出垃圾 异常情况处理 5.7 子程序参数 确保实际参数与形式参数匹配。 按照输入一修改一输出的顺序排列参数。这种排列方法显示了子程序中操作进行的顺序——输入数据、修改数据、输出结果。 如果几个子程序今使用了相似的参数,应按照不变的顺序排列这些参数。 使用所有的参数。 把状态和“错误”变量放在最后。 不要把子程序中的参数当作工作变量。 说明参数的接口。 应该把一个子程序中的参数个数限制在7个左右。 考虑一个关于输入、修改和输出参数的命名约定。 仅传递子程序需要的那部分结构化变量。 5.8 使用函数 公用编程法是指把一个函数当作过程来使用,并返回一个状态变量。 5.9 宏 把宏指令表达式括在括号中。 检查表 总体问题 XXXXXXXX 防错性编程 XXXXXXXX 参数传递问题 XXXXXXXX 5.10 强调强内聚性和松散耦合的首要原因是它们提供了较高层次的抽象性。 |
|
来自: cupid8505 > 《我的学习之代码大全》