代码大全读后杂记-02 为啥创建子程序(方法,函数)

人类是世界上最勤快的物种,人类也是世界上最懒的物种;当然,人类大多数的勤快的创造是为了让自己有机会懒。

为了耕种的方便,少留两滴汗多长两斤肉,发明了先进的机器;为了通讯的方便,少跑两里路,少死两只鸽子,发明了电报电话手机;为了节省程序员的脑细胞,发明了子程序!

[i][color=olive]PS:代码大全中的子程序(routine)就是C++中的函数(function),Java中的方法(method)~[/color][/i]

Steve(此S非彼S,代码大全的作者哦)认为:抛开计算机本身,子程序也算得上是计算机科学中一项最伟大的发明了。


我们首先来看看创建子程序的正当理由吧~

[b]降低复杂度[/b]
可以将一些你容易忘记的细节隐藏起来,这样,一旦你写好某个子程序,在其他地方就只需要了解其功能而加以调用即可,毕竟,我们的脑袋存储空间有限;

[b]引入中间、易懂的抽象[/b]
很重要的一点,子程序的名字要起得好,否则这点的功能就要大打折扣了。将一些难懂晦涩的代码放置在子程序中,一方面便于阅读了解,另一方面也更加容易维护和修改;
比如下面两块代码:
if(a>b)
return a;
else return b;

和 int maxNum=getMaxNum(a,b)
比起来,显然第二个更加清楚,通常情况下子程序里的代码会更加复杂,你懂的

[b]避免代码重复[/b]
这也是我们上学时,老师在介绍C函数的时候常提到的子程序的功用,对于功能一致或类似的代码,最好是将它们提取到一个子程序里面。当然,对于具体的实现方法,你可以将这些重复的方法中相同的部分放到基类里面,而不同的放到子类里面;也可以让相同的代码放到一个新的子程序里面,在让其余的代码来调用之...

[b]支持子类化[/b]
当你的子程序简单明了的时候,覆盖该方法的子类也会更加容易而不至于犯错~


[b]隐藏顺序[/b]
将一些顺序执行的代码放置在子程序里面,因为这种顺序在大多数情况下没必要向外界公开

[b]隐藏指针操作[/b]
指针操作通常容易让人犯难,所以,将它们放到子程序里面吧。另外,如果你想出不用指针的方法,那么直接修改该子程序即可,幸好java没有指针的困扰了...

[b]提高可移植性[/b]
将不可移植的部分和可移植的部分分开,会在将来真的需要移植时让你倍感轻松...

[b]简化复杂的布尔判断[/b]
和第二条有点类似,就是某写复杂难懂的布尔判断最好也放置在命名清晰的子程序中

[b]改善性能[/b]
为了便于优化代码,请将你觉得写得一团糟的代码放到一起,这样以便以后重构方便,这也是经验活啊

[b]确保所有的子程序都很小[/b]
当然,这点并不一定,关于子程序的长度把握,这也是一个经验活...好吧,这点当白说~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值