High –Quality Routines

 

High –Quality Routines

1.      什么是“子程序(routine)”?

      子程序是为了实现一个特定的目的而编写的一个可被调用的方法(method)或过程(procedure)。例如C++中的函数(function),Java中的方法(method)。

2.      为什么要创建子程序?

      1)降低复杂度:创建子程序的一个重要原因;

      2)避免代码重复:创建子程序最普遍的原因;

      总之,创建子程序最主要的目的是提高程序的可管理性,当然也有其他一些好的理由。其中,节省代码空间只是一个次要原因;提高可读性、可靠行和可修改性等原因都更重要一些。

3.创建高质量的子程序:

      1)子程序可以按照其内聚性分为很多类,而我们应该让大多数的子程序的具有功能上的内聚性。

      功能上的内聚性是最强也是最好的一种内聚性,也就是让一个子程序仅执行一项操作。例如sin(), getCustomerName(),这样的子程序是高度内聚的。

      2)子程序的名字应当描述其所有的输出结果以及副作用(side effects)。

      3)研究表明,变量名的最佳长度是915个字符。子程序通常比变量更为复杂,因此,好的子程序名字通常也会更长一些。

      4)给过程起名时,使用语气强烈的动词加宾语的形式,例如printDocument(), calcMonthlyRevenues()等。

      5)理论上认为子程序最佳最大长度通常是一屏代码或打印出来一到两页的代码,也就是约50150行代码。按照这种精神,IBM曾经把子程序的长度限制在50行以内。

           但是,本书认为,与其对子程序的长度加以限制,还不如让下面因素-----如子程序的内聚性、嵌套的层次、变量的数量、决策定(decision points)的数量、解释子程序用意所需要的注释数量以及其他一些跟复杂度有关的考虑事项等------来决定子程序的长度。

 

4.函数和过程解释:

      1)函数:指有返回值的子程序;

      2)过程:指没有返回值的子程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值