Programming Pearls(编程珠玑)读书笔记之COLUMN 5:A Smaller Matter of Programming

这个专栏继续深入讲解了assertion,同时也强调了Scaffolding的重要性。

实在也没什么好说的了,不过专栏最后关于Debug的一个小故事倒是挺有意思:讲的是IBM的Yorktown Heights研究中的一段轶事,有一个程序员刚刚装了一个新的工作站,当他坐着的时候所有的一切都正常,但是他站着的时候就不能登录到系统中去。而且这种行为可以百分百地重复:他总是坐着的能够登陆,站着的时候从来不能。

大多数人对于这个故事只有惊叹奇异的份了:“工作站到底是怎么知道这个家伙到底是坐着还是站着呢。。”一个好的debugger,却知道这其中一定有某种原因。最先想到的假设应该是电路的问题,可能地毯下面的接触不良,只有坐着的时候能够正常。但是,问题就在于这个行为可以百分百重复,那应该可以排除是电路问题了。

最后终于找到了问题的原因:两个键的字母交换了(the tops of two keys were switched)。当他坐着的时候,他打字不会注意到这个问题;而当他站起来后,他就会误入歧途,输入错误的键。。

所以说,一个优秀的debugger往往是能够透过问题的表象看到本质的。

全文完。EOF

 

/* 原创文章,本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: Swarm’s Blog*/

 

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]


无觅相关文章插件,快速提升流量