一个方法不超过 5 行有多难?

之前发的文章 给初学者一点建议:学习设计之前 不管是论坛上还是 Blog 上都得到不少回复(相对而言啦)。大家对我的想法都是肯定的,然而同时不少人也说:“所谓一个方法5行程序仅仅是一种很夸张的说法。

 

这里先更正一下,5 行不是准确的说法,应该说 5 句比较恰当。一个方法不超过 5 句。

 

出现这样的回复,是个问题。因为这是写给初学者看的,如果你看完后相信的是回复里的说法,那我这文章效果就得大打折扣了。当然,一个方法不超过 5 句,在很多情况下确实不容易做到,但绝非不可能。你要做的,就是硬着头皮绞尽脑汁想方设法将它写到 5 句以内。这就是一个锻炼思维的过程!

 

我这里举个例子:归并排序算法。算法的实现一般都比较长,但要把它写出短小的方法也不是不可能的。之所以有这么多注释,这都是用来解释算法本身的。如果你熟悉算法的逻辑,没有注释你也很容易看得懂。

 

所以如果你是初学者,我希望你一定要有信心!别人怎么说是一回事,只要自己肯努力,就一定行。


PS1:有的评论提到调用方法带来的效率问题。就像我在《学习设计之前》中说的,只要我愿意,所有的代码都可以写到 main() 里面,这样难道不是效率最高的吗?为什么没有人这么做?调用方法确实会有点开销,但是相对于方法要执行的内容而言,这点开销可以忽略。最重要的,易读性才是根本目的。易读的代码能提高开发效率,能让你做事情更轻松。


PS2:有的回复质疑,如此极端到底有何意义。我说了这是锻炼思维培养能力。初学者如果不从现在练起,将来形成了固定思维,改正起来要困难得多。在编码之前脑子里要有一个清晰的步骤,而且这些步骤要清晰的反映到代码中。对一般人来说,5 到 7 个步骤就已经是极限了。再多的话,就必须归纳出几个大的步骤,然后再细分。我见多不少长方法,作者写到后面根本忘了自己前面写过什么了。这种瞎子探路式的写法不出 BUG 才怪。

 

 

评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值