定论——软件开发的评价标准(1)

yanglilibaobao 2006-12-06 06:24:47
一、序论

我们一直在争论,什么更好。
什么是更好的语言,什么是更好的写法,什么是更好的设计,什么是更好的风格,什么是更高的框架,什么更好的工具......

没有定论,似乎没有什么能够占绝对的上风,往就是陷入混战,边上还有人劝架:“具体情况具体分析嘛,这样凭空吵不出结果的!”

能不能得到定论呢?

首先要明确,标准是什么?或者说软件开发的根本目标,除了满足功能需求之外,对于软件开发的这一方来说,最重要的目标是什么?

————效率!
同样的软件开发收入,投入的成本越低,就越赚钱。
对于开发人员也这样,同样的项目,如果只用干一个月,而不是一年,同样的奖金数量,大家都会很开心。

一切有助于提高效率的,都是好的。
而一切妨碍效率的,都是坏的。

有些方法吹得神乎其神,你用了以后,发现没有提高效率,但是带来了别得好处。。。且慢,如果它降低了你的工作效率,那么它的任何好处都是假的。

有人告诉你,文档很重要,如何如何。你写出了世界上最漂亮的文档,但是你的开发速度是原来的1/10,那么你就是被这样的思路害了。

有人告诉你,代码分离很重要,然后你发现你经常需要修改文件,满足需求变更,都要跨越十几个文件,那么你又受骗了。

也许有人又告诉你,你这样的做法不符合那样的“最佳实践”。而你发现理解这些“最佳实践”,花费了你大量的时间,那么你还是受骗了。

真正好的东西,理解起来也应该很容易,学习起来也不会难,它是自然的。那些一看就觉得不自然的思路,你永远都不该去试图理解它,否则就是浪费了时间。

二、总开发成本
软件开发,基本上还是一个手工劳作的行业。软件开发的成本,基本上就是人员的工资×工作量。而得到的产品,就是一堆“byte”。包括“文本的byte”和“二进制的byte”。也就是“代码”+“文档”+“其他资源文件”。

如果我们把美工MM的工作忽略不记的话(罪过罪过)。总开发成本,就和整个开发期间的代码总生产量正比。(包括第一次写下来,后来又被删除的代码)因为基本上,一个人的代码生成数量,与他的工作时间成正比,也就进而和他的工资成正比。

要降低成本,其实就是要降低总的代码生产量。当然,前提是功能要保证能够完成,性能也不能低于客户的要求。

为什么不记美工MM的工作呢?这个需要解释一下
因为大多数时候,客户的修改需求都会围绕代码,而只会在项目的初期要求修改视觉效果。作为一次投入的成本,相对于整个项目的成本,实在不是很高,除非是“游戏”。另外一方面,在这个领域的提高效率的工具,向来没有什么太大的争论,甚至效率都不是第一要求考虑的因素。

回到我们的话题上来,我想要说明的就是:一切方法,设计,思路,技巧,如果不能切实的降低代码总数+文档总数,那么他就是“害人”的东西。

——待续

http://www.javaeye.com/article/4610
...全文
791 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Edmond_H 2007-03-29
  • 打赏
  • 举报
回复
依你目前说的结论"一切方法,设计,思路,技巧,如果不能切实的降低代码总数+文档总数,那么他就是“害人”的东西",感觉不到什么收获,期待你的后续....

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧