- 浏览: 115679 次
- 性别:
- 来自: 天津
文章分类
最新评论
欲求更好,常把好事变糟。——李尔王 1.4
有一个(有点)老的笑话,说一家美国公司向一家日本制造商订购100 000片集成电路。规格说明中有次品率:10 000片中只能有1片。几周过后订货到了:一个大盒子,里面装有数千片IC,还有一个小盒子,里面只装有10片IC。在小盒子上有一个标签,上面写着:“这些是次品”。
要是我们真的能这样控制质量就好了。但现实世界不会让我们制作出十分完美的产品,特别是不会有无错的软件。时间、技术和急躁都在合谋反对我们。
但是,这并不一定就让人气馁。如Ed Yourdon发表在IEEE Software上的一篇文章[You95]所描述的,你可以训练你自己,编写出足够好的软件——对你的用户、对未来的维护者、对你自己内心的安宁来说足够好。你会发现,你变得更多产,而你的用户也会更加高兴。你也许还会发现,因为“孵化期”更短,你的程序实际上更好了。
在继续前进之前,我们需要对我们将要说的话进行限定。短语“足够好”并非意味着不整洁或制作糟糕的代码。所有系统都必须满足其用户的需求,才能取得成功。我们只是在宣扬,应该给用户以机会,让他们参与决定你所制作的东西何时已足够好。
让你的用户参与权衡
通常你是为别人编写软件。你常常需要记得从他们那里获取需求[2]。但你是否常问他们,他们想要他们的软件有多好?有时候选择并不存在。如果你的工作对象是心脏起搏器、航天飞机、或是将被广泛传播的底层库,需求就会更苛刻,你的选择就更有限。但是,如果你的工作对象是全新的产品,你就会有不同的约束。市场人员有需要信守的承诺,最终用户也许已基于交付时间表制定了各种计划,而你的公司肯定有现金流方面的约束。无视这些用户的需求,一味地给程序增加新特性,或是一次又一次润饰代码,这不是有职业素养的做法。我们不是在提倡慌张:许诺不可能兑现的时间标度(time scale),为赶上最后期限而削减基本的工程内容,这些同样不是有职业素养的做法。
你所制作的系统的范围和质量应该作为系统需求的一部分规定下来。
Make Quality a Requirements Issue
使质量成为需求问题
你常常会处在须要进行权衡的情形中。让人惊奇的是,许多用户宁愿在今天用上有一些“毛边”的软件,也不愿等待一年后的多媒体版本。许多预算吃紧的IT部门都会同意这样的说法。今天的了不起的软件常常比明天的完美软件更可取。如果你给用户某样东西,让他们及早使用,他们的反馈常常会把你引向更好的最终解决方案(参见曳光弹,48页)。
知道何时止步
在某些方面,编程就像是绘画。你从空白的画布和某些基本原材料开始,通过知识、艺术和技艺的结合去确定用前者做些什么。你勾画出全景,绘制背景,然后填入各种细节。你不时后退一步,用批判的眼光观察你的作品。常常,你会扔掉画布,重新再来。
但艺术家们会告诉你,如果你不懂得应何时止步,所有的辛苦劳作就会遭到毁坏。如果你一层又一层、细节复细节地叠加,绘画就会迷失在绘制之中。
不要因为过度修饰和过于求精而毁损完好的程序。继续前进,让你的代码凭着自己的质量站立一会儿。它也许不完美,但不用担心:它不可能完美
发表评论
-
抽象类 抽象方法
2012-09-06 23:05 623抽象类和抽象方法必须用abstract来修饰。有抽象方法的类只 ... -
程序员修炼之道总结
2012-08-13 23:16 696第一章 我的代码让猫吃了 在所有弱点中,最大的弱点就是害 ... -
程序员修炼之道——25怎样配平资源
2012-08-12 09:54 691只要在编程,我们都要管理资源:内存、事务、线程、文件、定时器— ... -
程序员修炼之道——18调试
2012-08-12 09:43 610这是痛苦的事: 看着你自己的烦忧,并且知道 不是别人、而是 ... -
程序员修炼之道——17源码控制
2012-08-12 09:26 777进步远非由变化组成,而是取决于好记性。不能记住过去的人,被判重 ... -
程序员修炼之道——16 强力编辑
2012-08-12 09:25 588Use a Single Editor Well 用 ... -
程序员修炼之道——估算
2012-08-11 16:45 737快!通过56k modem线发送《战争与和平》需要多少时 ... -
程序员修炼之道——12领域语言
2012-08-11 16:27 615语言的界限就是一个人的世界的界限。 ——维特根斯坦 ... -
程序员修炼之道——11原型与便签
2012-08-11 16:21 760许多不同的行业都使用 ... -
程序员修炼之道——正交性
2012-08-11 11:24 600如果你想要制作易于设计、构建、测试及扩展的系统,正交性是一个十 ... -
程序员修炼之道——不要重复自己
2012-08-11 11:01 623DRY – Don’t Repeat Yourself 不要 ... -
程序员修炼之道——交流
2012-08-10 12:22 650我相信,被打量比被忽 ... -
程序员修炼之道——你的知识产
2012-08-09 21:40 635知识上的投资总能得到最好的回报。 ——本杰明•富兰克林 ... -
给IT新人的15点建议:苦逼程序员的辛酸反省与总结 .
2012-06-30 20:50 533很多人表面上看着老实巴交的,实际上内心比谁都好强、自负、虚荣、 ... -
ffd
2012-06-30 20:49 0“有人说:女生到社会 ... -
开始工作的是个不要
2010-11-27 22:15 666第一:不要认为停留在 ...
相关推荐
《程序员的修炼之道-从小工到专家》这本书深入探讨了编程领域的核心思想,旨在帮助程序员提升技能,逐步成长为行业专家。编程思想是编程者必备的基石,它涵盖了问题解决、设计模式、算法优化等多个方面。以下是一些...
《程序员职业小白书——如何规划和经营你的职业》是一份为初入IT行业的程序员量身定制的指南。这本书深入浅出地介绍了如何在快速发展的IT领域中,制定个人职业规划,提升技能,以及如何有效经营自己的职业生涯。以下...
程序员晋升.doc————电子版_doc版
黑马程序员入学Java知识——精华总结
《程序员的羊皮书——程序员必备》是一本旨在帮助程序员提升个人素养与专业技能的书籍。这本书不仅仅关注编程技术本身,而是将重点放在了程序员如何更好地融入职场、提高工作效率和团队协作能力上。"做人"在这里指的...
读书笔记:程序员的自我修养——学习笔记
读书笔记:Java程序员面试笔试宝典——算法实现
《程序员修炼之路 从小工到专家》这本书显然是针对软件开发领域从业人员的,尤其是那些希望从初级程序员成长到行业专家的读者。书中无疑会详细探讨普通程序员与优秀程序员之间技能、知识、经验以及思维方式上的差异...
读书笔记:程序员的自我修养——链接、装载与库
读书笔记:mini CC++ runtime library —— 《程序员的自我修养——链接、装载与库》
读书笔记:《程序员的自我修养——链接、装载与库》
读书笔记:《程序员的自我修养——链接、装载与库》 笔记
读书笔记:《程序员的自我修养——链接、装载与库》读书笔记
读书笔记:程序员修炼之道从小工到专家
程序员修理之道(kindle版本),适合kindle电子书阅读。 本书直击编程陈地,穿过了软件开发中日益增长的规范和技术藩篱,对核心过程进行了审视――即根据需求,创建用户乐于接受的、可工作和易维护的代码。本书包含...
读书笔记:《程序员的自我修养——链接、装载与库》第13章实验——实现一个迷你的C语言运行库MiniCRT
《程序员算法趣题——随书源码》是一个与算法相关的学习资源,包含了增井敏克著作《程序员算法趣题》中的实例代码。增井敏克是算法领域知名的专家,他的书籍通常深入浅出,旨在帮助程序员提升算法思维和解决实际问题...
- “程序员的编辑器——VIM”可能是对VIM的特定使用场景或者进阶技巧的讲解。 7. **自定义配置**: VIM允许用户在~/.vimrc文件中定制个人的配置,包括快捷键、颜色主题、自动完成等设置。 8. **学习曲线**: ...
【Java初级程序员练习项目4——足球网】 这个项目旨在帮助初学者通过实践加深对Java编程语言的理解,同时学习如何构建一个简单的Web应用程序。在“足球网”项目中,你将有机会运用到Java的基础知识,包括类、对象、...