代码大全--创建子程序的正当理由
1、降低复杂度 可以通过创建子程序来隐藏一些信息,这样你就不必再去考虑这些信息了;当然,一旦程序写好了,你就应该能忘记这些细节,可以直接调用该子程序而无须了解其内部工作细节,如果没有子程序的抽象能力,我们的智力将根本无法管理复杂的程序;当内部循环或条件判断嵌套的层次很深的时候,就意味着需要从子程序中提取出来新的子程序了,将嵌套的部分提取出来形成一个独立的子程序,可以降低外围子程序的复杂度。
2、引用中间、易懂的抽象 将代码放入到一个命名恰当的子程序中,是说明这段程序用意最好的方法之一。
3、避免代码重复 毋庸置疑,最普遍的原因是为了避免代码重复。
4、支持子类化(subclassing) 覆盖(override)简短而规整的子程序所需新代码的数量,要比覆盖冗长而邋遢的子程序更少。如果能让可覆盖的子程序保持简单,那你在实现派生类的时候也会减少犯错的几率。
5、隐藏顺序 把处理事件的顺序隐藏起来是一个好主意,比如说连接数据库,先建立连接,然后打开连接,这两个动作都是相连的,把它们放到一个子程序中,也就是隐藏起来,比让它们在系统内到处散布要好得多。
6、隐藏指针操作
7、提高移植性 可以用子程序来隔离程序中不可移植的部分,从而明确识别和隔离未来的移植工作。
8、简化复杂的布尔判断 为了理解程序的流程,通常并没有必要去研究那些复杂的布尔判断的细节。应该把这些判断放入到函数中,以提高代码的可读性。这是因为:(1) 把判断的细节放到一边了,(2) 一个具有描述性的函数名字可以概括出该判断的目的,这样的话可使主程序逻辑变得更加清晰。
9、改善性能 通过使用子程序,可以方便地查出哪些代码的运行效率低下,这样的话,可将此段代码进行优化。
10、确保子程序都很小 都是有着单一功能的函数。
2、引用中间、易懂的抽象 将代码放入到一个命名恰当的子程序中,是说明这段程序用意最好的方法之一。
3、避免代码重复 毋庸置疑,最普遍的原因是为了避免代码重复。
4、支持子类化(subclassing) 覆盖(override)简短而规整的子程序所需新代码的数量,要比覆盖冗长而邋遢的子程序更少。如果能让可覆盖的子程序保持简单,那你在实现派生类的时候也会减少犯错的几率。
5、隐藏顺序 把处理事件的顺序隐藏起来是一个好主意,比如说连接数据库,先建立连接,然后打开连接,这两个动作都是相连的,把它们放到一个子程序中,也就是隐藏起来,比让它们在系统内到处散布要好得多。
6、隐藏指针操作
7、提高移植性 可以用子程序来隔离程序中不可移植的部分,从而明确识别和隔离未来的移植工作。
8、简化复杂的布尔判断 为了理解程序的流程,通常并没有必要去研究那些复杂的布尔判断的细节。应该把这些判断放入到函数中,以提高代码的可读性。这是因为:(1) 把判断的细节放到一边了,(2) 一个具有描述性的函数名字可以概括出该判断的目的,这样的话可使主程序逻辑变得更加清晰。
9、改善性能 通过使用子程序,可以方便地查出哪些代码的运行效率低下,这样的话,可将此段代码进行优化。
10、确保子程序都很小 都是有着单一功能的函数。