修改一行代码需要6天时间?

标签: 代码 需要 时间 | 发表时间:2012-12-05 16:50 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

修改一行代码需要6天时间,你信吗? 这篇文章的作者给我们讲了一个真实的故事。

首先我们来看一下有哪些人物:

  • Philip:President,会长
  • Lee:Operations Manager,执行经理
  • David:IT Director,IT总监
  • Judy:IT Admin,IT管理员
  • Ed:programmer,程序员
  • Shirley:Code Review,代码复查人员
  • Julie:IT Testing,IT测试人员
  • Joe:IT Security,IT安全人员
  • Tony:IT Testing,IT测试人员

故事是这样的:

Philip认为工厂的10%未得到充分使用,要么选择有更多积压,要么解雇员工,因此询问Lee的建议。Lee建议将积压的时间从3个月以上改为4个月以上,而这个修改,也许只需要修改传统软件中的一项配置就可以。接下来,将这件事交给了David,David同意了,并将这件事安排给Judy,Judy建了一个单据号#129281。

两天后,David询问Judy事情的进展,Judy回复需要等开发人员修改玩14个bug后才能处理,David指示将这项任务提前。

1个小时后,Ed修改完代码,将某个硬编码属性的取值从“3”改成“4”,Ed将代码提交给Shirley进行审查。Shirley要求Ed对硬编码的参数文件进行登录。

2个小时后,Ed再次提交代码审查。Julie反馈,代码未通过用户接受度测试,并让联系Joe确认。

2个小时后,Joe因为访问授权问题,以及代码命名问题,将Ed的提交驳回修改。

1天后,Ed修改好命名问题后,再次提交代码测试。Tony认为没有给时间写测试用例,无法进行测试,因此无法让代码通过测试进行发布。

2天后,Philip指示David,让Tony通过Ed的代码并发布产品。

至此,总共消耗的时间为6天,重要代码修改了1行,重要代码修改了1个字节。

也许这种故事在我们身边时有发生,常常产品经理会对程序员说,“我这个需求很简单,就把那个放大一点,显示时间久一点,我觉得几分钟就能搞定了”,类似的需求会有很多。结果真的是这样吗?我很想问一下,“元芳,你怎么看?”欢迎大家讨论。

另外,推荐一下作者的博客,有很多有趣的博文分享: http://edweissman.com/ ,以及作者分享的一本电子书: http://v25media.s3.amazonaws.com/edw519_mod.pdf

黄玲艳 是一名资深Flash工程师,做过互动产品开发及音视频等多媒体产品开发,现供职于新浪,负责部门内Flash开发团队。

您可能也会喜欢

相关 [代码 需要 时间] 推荐:

修改一行代码需要6天时间?

- - InfoQ cn
修改一行代码需要6天时间,你信吗. 这篇文章的作者给我们讲了一个真实的故事. 首先我们来看一下有哪些人物:. Philip:President,会长. Lee:Operations Manager,执行经理. David:IT Director,IT总监. Judy:IT Admin,IT管理员. Ed:programmer,程序员.

多些时间能少写些代码

- iyuan - 伯乐在线 -博客
  注:本文转载自coolshell.   我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些.   聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30% – 50%的时间是在忙碌着编码,调试和测试. 而傻/逼的老板,苦逼的程序员会拿出来100%-150%的时间来忙着赶进度,返工,重构,fix 大量的bug… 所以, 越差的团队一般会越忙,而且还忙不完.

Android 4.0编译源代码需要16GB内存

- coofucoo - Solidot
新一代的智能手机也许更轻更小巧,但它们的操作系统则走向另一个极端. Android 4.0 Ice Cream Sandwich(ICS)编译源代码将需要工作站内存不低于16GB,是编译Gingerbread的两倍. 如果开发者想编译ICS,他需要准备:单次构建需25GB空间,同时编译所有AOSP(Android Open Source Project)配置需要80GB空间,16GB以上内存,在二个四核处理器2.4GHz机器上完成单次构建需5+小时CPU时间,经过时间(wall time)25+分钟.

我们不需要代码之外的文档

- - 外刊IT评论
我听到了,很多次,在很多公司里. 大多数人都会因为没有写文档而内心不安,认为应写文档. 文档有两种——代码内和代码外. 代码内文档包括javadoc(或任何用来描述类和类方法的语言工具)和代码注释. 外部文档包括描述产品的文档和内部材料. 外部文档最大的问题:它会过期不更新. 让它们保持同步更新是一个麻烦且耗时的工作.

如果我有时间,我会写更短的代码

- Lamengao - 王建硕
eBay的代码量已经比Windows+Linux更多了. 从我看来,这绝不是一种恭维,而是彻彻底底的技术人员的失败. 从代码的角度,越短的代码,就越有力量. Mark Twin曾经在给一个朋友的信中说道:. 我亲爱的朋友,如果我有更多的时间, 我就能给你写更短的信了. 有了面向对象的方式和一些简单的设计模式加一些重构,代码可以变得非常的简单,明了,易读,却依然保持灵活和强大.

关于时间旅行的几个问题——解密《源代码》

- Mill - 微科幻 - 果壳网
一辈子很长,经过无数岔口,面临无数选择题. 那些影响人生至关重要的选择题,如果做错了怎么办——你一定有做错过或者后悔过的时候,对吧. 毕竟人生那么长,总有那么个把蛋疼的瞬间会去想“如果我那时……”. 问题的复杂性在于人们只能质疑现有选择的正确性,却无法保证其他选择项的正确性. 如果能在选择前找到所有正确选择项,造就出一条完全正确的人生之路,那无疑,人类的幸福将再也不是多愁善感诗人们笔下的缥缈之物.

不要将时间浪费到编写完美代码上

- - 外刊IT评论
一个系统的迭代开发可能持续运行5年至10年甚至是20年. 相比之下,某行代码甚至某个设计的生命周期则要短很多,只有几个月或者几天,甚至当你为了解决一个问题迭代测试不同方案时它们的生命周期只有几分钟. 通过研究代码随时间发生的变化,Michael Feathers发现了代码生命线. 通常,每个系统都有许多一次写成不再修改的代码.

【外刊IT评论】你真正需要的代码测试覆盖率是多少?

- Ryan - 外刊IT评论网
本文是从 How much code coverage do you really need. 我写这篇文章的起因是由于看了@unclebobmartin在微博上的一些看起来言之凿凿的话语. 给那些不认识Uncle Bob的人介绍一下——他是我们软件产业里最著名的一个专家,是《 Clean Code(代码整洁之道)》这本著作的作者,是敏捷宣言(Agile Manifesto)的签署人之一.