今日杂谈---重用和程序员

早上因为老婆上班比较早,所以我也是七点钟起床,既然有这么一大片空白时间,除了花些时间继续关注灾区的情况外,我还是捧起了康斯坦丁的人件集在看,虽然,我总觉得他的文章没有德马克的人件以及布鲁克斯的人月神话那么引人入胜,但是,我想作为一代专门研究软件管理的大师,其文章总还是值得一读的。
今天早上我翻到的是软件重用和报酬这一章,实际上我不是很在乎重用和报酬的关系,因为重用而得到更多的报酬,因为报酬而极力重用?我想这个关系肯定及复杂,而且根本上不可量化。而且我更大胆的假设,重用和报酬或许他的关系可能就是与蝴蝶效应这样的莫须有的。当然我更关心的问题,为什么现实中的重用为什么那么困难?

我曾经移植过很多人写的源程序,印度程序员和中国的程序员写的居多,其中很多很多的不敢恭维,他们提供了很多操作HW的API,或者是对配置文件的操作,又很多的函数式如此的相似,只是一点点地不同。我不知道他们为什么不把他提炼成一个子程序,难道发明子程序最后的哲学没有一点点影响他们吗?很多时候,只要稍微转动一下脑瓜,就可以提炼出一个子程序,然后所有的接口函数都是调用这个子程序而已,他们为什么不呢?我猜测,他们并没有像我这样,喜欢用手把每一行代码敲出来,然后斟酌一下,他们似乎更乐意与Ctrl-C,Ctrl-V,然后修改不同的地方。对此,和对此方式出现的代码,我深恶痛决。

有这些我想起了在'注重实效的成员'的几条规则,Dont repeat yourself.杜绝重复,难道不应该吗?重复让我们维护和调试都变得异常的困难。作为一个职业的程序员难道不应该遵守这条规则吗?一旦你打破这条规则,破窗户的效应立马出来了。专业的程序员们,请记住,dont repeat yourself.

最后,我想讨论如何杜绝这种现象?
康斯坦丁把这个更多的归结为职业道德修养和个人的兴趣。我想这个答案是最完美的,但是我们不能寄托于所有的成员都有这么好的修养,而且我们也应该可以原谅他们某些情况下留下的小错误。所以,我认为,这个业该是代码review的职责之一。

请不要重新发明轮子,我们应该用已经有的东西来搭建我们的产品。如果你有一个发明轮子的机会,请你也要让轮子是可构造的,而不是用一根粗树杆截成的。
注:对于C程序员来说,了解C库是很有必要的,特别是string的库,因为每个C程序员都可以写出自己要的东西。我就曾放过这样的错误,最后发现我要的东西,C库里都有,只需要把几个函数组合一样就好。所以,程序员应该更多的了解自己所用的构建库的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值