56. 让不可见的更可见

来源:互联网 发布:netextender for mac 编辑:程序博客网 时间:2024/04/29 19:56

让不可见的更可见

        隐蔽性的很多方面都被正确地宣扬为要遵循的软件开发准则,我们有很多隐喻隐蔽性的术语,机制透明和信息隐藏。软件及其开发过程,引用道格拉斯·亚当斯的话,“基本看不见”:
        · 源代码没有天生的表现,也没有天生的行为,而且也不用遵守物理定律。当将它载入一个编辑器时,我们就能看到它,但关上编辑器时,它就消失了。想它太多了以后,就像倒下了却没有听到的树,你开始怀疑它是不是真的存在。
       · 运行的应用程序有表现和行为,但是展现不了构建它的源代码。Google的主页让最简化了,让人感觉舒服,但它后台的事物一定相当复杂。
        · 如果你已经完成了90%却无尽地卡在了尝试调试最后中的10%,那你就不是完成了90%,对吧?修正bug不算进展。给你报酬不是为了调试,调试是浪费。让浪费更加可见可能会更好,这样你就能看清它并且开始思考如何在一开始就避免。
       · 如果你的项目看起来是在正轨上,但一个星期后却发现已经延迟了六个月,你有麻烦了,最大问题可能不是晚了六个月,而是什么看不见的力量足以隐藏六个月的延迟!缺少可见的进展就等同于缺少进展。
        隐蔽性可能会很危险。当你有什么东西可以让你集中精力思考时,你会思考得更清楚。当你可以看见事情或者看见它们持续改变时,你能将它们管理得更好。
        · 编写单元测试证明了代码单元对于单元测试是多么容易。它能帮助展示你希望代码表现的开发质量的存在(或缺失);如低耦合、高内聚这样的开发质量。
        · 运行单元测试证明了代码的行为。它能帮助展示你希望程序表现的运行质量的存在(或缺失);如鲁棒性和正确性这的运行质量。
        · 使用公示板或者公示卡展现并集中进展。可以看到任务是“未开始”、“进行中”或者“已完成”,而不用一个隐藏的项目管理工具或者是批程序员要虚构的状态报告。
        · 进行增量的开发通过增加开发占用率的证明,增加了开发过程的可见性。完整的可发布软件展示现实;估计则不能。
        开发软件最好是伴随着许多可见的证明。可见性给人信心,软件是实际的而不是虚幻的,是有意的而不是无心的,是可重复的而不是偶然的。

原文:Make the Invisible More Visible byJon Jagger

原创粉丝点击