程序员与大铁块

在传统机械工业中,我们要从一个很远的地方引进一套流水线。

大家都知道,一般情况下,安放一套流水线,必须要一个大房子(甚至非常大的房子),可见之大。

其它问题我们不去考虑,我们只想一下,怎么把它运回来?

我们得庆幸,幸亏当时造这套流水线的人没有把造一整块铁(想像一下,一整块铁疙瘩,要你把它运回来,肯定晕死你)。

如果它是一整块铁,一般情况下没有运走的可能性。你就是把全世界力气最大的运输工具叫来,也无济于事,它真是太大了,太重了!

正好相反,一套流水线设备几乎可以彻底拆成很小的部件的,几乎绝大多数部件都能比较容易的运走,更有很多部件,我们可以找根绳子捆成一捆运走,或塞到缝隙里一块儿运走。

我再重复一下刚才那个笑话:“我们很有钱,不就一套流水线设备嘛,小case啦。当我们把车开到广房门口时发现,原来它是一整块铁......”
:)


好!回到现实中!大家都是程序员(我也是),让我们看看自己写的程序,我们是不是把程序写成了“无法搬运的一整块铁”?

对于一个比较大的软件系统(也不一定非常大),你就是把全界最聪明的人叫来,也不可能只用一个main函数就完成。(理论上讲,再复杂的程序对机器来说,只用一个main函数就够了,包括多线程)

更何况我们都是平常人,不会超级聪明,对于“复杂”的理解、控制能力很有限(你同意吗?)。

我本人很笨,小时候家人都没让我考大学,稍微有几个函数对this->成员改来改去、判断来判断去、然后this以外再把它弄弄;或者在一个函数内,一个栈变量被“标记”来“标记”去,我就头大了,现在更是看了脑火---“报告领导,本人头脑简单,只会写出容易懂的程序,像这些高手写的程序我看不懂!”

:)

同志们,人对于杂复的控制能力是有限的,如果你把程序写得太复杂:
1. 还能再写更多吗?再多还不“逻辑爆炸”了
2. 可靠不可靠啊?那么杂复,就连你自己也晕晕的?
3. 日后要对其增加新功能,谁敢动啊,那么复杂,动了这里其它地方就是“莫明其妙”的出错
4. 想分离并重用模块,能行吗?那是“一整块铁”啊
5. 长期生活在这种国产的“焦油坑”里,您是不是渐渐觉得自己不适合当程序员了?

“软件工程要解决的首要问题是:控制复杂度。”哪儿看到的记不清了。

我们在写程序的时候应该多考虑考虑,不要随意的构思流程、写代码,否则今天你是爽了,明天呢?后来的人呢?

还是让我们把程序写得容易懂一些吧。

欢迎评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值