您的位置:首页 > 职场人生

纯忽悠程序员的开发要求(3):编写代码时要注意可扩展性!

2010-08-11 14:50 477 查看
这条有点儿争议,本人有些时候非常不喜欢没有前瞻性设计的程序设计,不过经过几年的编程,调试工作,思想有些转变。 以前经常遇到这样的例子:上层应用程序还没怎么完善呢,突然一天底层的接口全改了,原来做的全没用了,原来费九牛二虎之力搞的程序现在一个方法搞定了!原因在于编写代码的时候最重要的是实现目前要求的功能,至于以后的情况谁知道呢?很多时候程序员对于未来最终用户的需求的预测基本都归于失败,最典型的就是比尔盖茨的维纳斯计划了,还有他许多预测都归于失败,具体可以看看:http://www.xiansheng.com/2010/renwu/0420_BiEr_GaiCi_8.shtml

话说回来,连这样的大牛都经常预测失败,更不用说我们这些人了,基本就是井底之蛙,扩展也是在自己的井里,等外边的洪水一来,一切还是重新开始。

我在学习C++设计的时候,很多人都说设计模式很重要,可是现实是根本没多少模式用得上,很多就像GRE的生僻单词,学过就忘了,用得多的还是那几个,而且道理浅析的如秃子头上的虱子,非要搞个模式理论出来就是折腾!所以现在人家老外也不怎么流行用这个了,我们更应该适时摒弃这些东西。OSI模型牛不牛?还是没有做过TCP/IP嘛!理论完美有些时候反而失去了现实的市场。

现在流行什么迭代开发,敏捷编程,为什么呢?因为需求变化很快,传统的开发模式再厉害也不行,有可能你辛辛苦苦做两年发现根本没有市场了,最典型的就是模拟摄像机,模拟的录像机,我们中国刚做出来,大家都vcd了,然后dvd了,估计数码相机也一样,现在都流行单返了。消费类电子更是各领风骚一两年啊,前年台积电,去年联发科,今年就变成宏达电了,谁知道明年是哪一家呢?

再说了程序的可括展性必须建立在对未来需求的准确把握上,说实话真的很难,否则不会有那么多公司死掉了,做3G的凯明,做IPTV的UT斯达康,例子太多了,IT圈到处都是。程序员很多时候根本不知道最终用户的使用情况,或者不清楚普通大众用户的现实体验,所以对未来的趋势预测都归于失败,很多时候都是南辕北辙,结果你的程序做得可扩展性越好,反而实际的损失越大,机会成本啊!而且大而全的,大而空的设计既难理解也难维护,很多时候大家会想:这个接口干什么的呢?没实现怎么还放在那儿?扩展用来干什么呢?我们得承认一个事实:没有两个人的想法是一样的,所以你的想法有时候很难被别人理解或者接受,程序员都有些傲气,可以理解。所以我们的编程要求最重要也是最基本的就是命名,包括文件名,接口的名字,函数变量的名字都是不怕长就怕别人不明白,我觉得很有好处。

所以我的建议就是:写代码的时候先实现基本功能,可要可不要的宁可不要,以后真的需要再加,东西越多出现bug的可能就越大,而且维护成本也越高。千万别为扩展功能千辛万苦设计了一大堆,实现了一大堆,结果根本就不是人家想要的,或者偏差很大,到时候就真的蛋疼了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐