如何更好地完成代码?

10年前,每当我成功解决一个数学难题,我就有一种莫名的成就感。解题的思路越巧妙,成就感越强,直到我看到著名的数学教育家波利亚(Polya G.)的《怎样解题》。这是一本小册子,但却是对我影响最深的数学书之一。

看了《怎样解题》才知道,数学题的解题思路,原来可以这么系统地进行归纳,只要你按照正确的方法去尝试,解决一道难题并不是那么高深莫测。当我再遇到另外一道难题的时候,我已不再是苦苦思索而不得要领。

博文视点编辑佘广让我看《代码大全2》的电子稿时,我不禁想起了波利亚的这本名著。现在对《代码大全2》的褒奖太多了,我想说明的是,如果你曾经写过很多代码,常常为自己的代码组织和设计困惑,那就看看这本书吧。他对我的冲击就如《怎样解题》一样,让我在Steve McConnell循序渐进的讲述方式中对那些未成熟的编码思路变得豁然开朗。

从图书的目录涉及到了代码构建的各个方面。不仅让你正确地理解开发行为,还给出了很多设计和开发涉及到的细节。如果说类似《人月神话》这样的软件工程的图书离开发者还有点遥远的话,《代码大全2》就是真正体贴开发者的经典巨著。

这本书不是必须从头读起的,比如:理解软件开发过程,可以直接看第二章--用隐喻来更充分地理解软件开发,为了更好地构建子程序直接看第7章--高质量的子程序。

当然,吴文俊的《几何定理机器证明的基本原理》给我的震撼更大,这让我知道,机器可以完成原本那么需要智能的东西。我不知道软件开发到那天机器也能代替,也不知道MDA能否带来这样的革命。我想如果真有那么一天,我们也就不用看《代码大全2》了。:)

本文写在《代码大全2》首发之际,Dearbook提供该书PDF版本连载,大家可以先睹为快,感谢博文视点的努力为大家奉献久违的经典。

你可能感兴趣的:(教育)