為什么在設(shè)計(jì)良好或者優(yōu)美的代碼之上,我們總有一種竭力維護(hù)其優(yōu)美性的傾向呢?一直以來,我都以為這只是我的個(gè)人好惡,然而當(dāng)昨晚我讀到《程序員修煉之道》第一章的破窗理論時(shí),我知道了這是人類固有心理傾向。多年的疑惑,在一本書的第一章就得到了解答,真有一種相見恨晚的感覺。正如大部分書評(píng)作者想要表達(dá)的觀點(diǎn),在沒有實(shí)際項(xiàng)目時(shí),你會(huì)覺本書所言理所當(dāng)然,就像《影響力》一樣,在社會(huì)經(jīng)驗(yàn)尚淺時(shí),讀起來如此白癡。
《程序員修煉之道》其實(shí)在N年前便在書店里見過,至于為什么沒買,大概是因?yàn)槠錁?biāo)題吧。想讀這本書,緣由是讀了作者最近出的另外一本great book-《Pragmatic Thinking&Learning--Refactoring your wetware》(似乎總有一種傾向,資歷越老的開發(fā)者越喜歡專研哲學(xué)和心理學(xué),并把它們同軟件開發(fā)結(jié)合起來,不管是Bob大叔的《Agile Software Development: Principles, Patterns, and Practices》,還是Pete McBreen的《Software Craftsmanship》都無不體現(xiàn)這一點(diǎn))。當(dāng)我坐下來仔細(xì)體味這本書的時(shí)候,卻發(fā)現(xiàn)這個(gè)譯名貼切不過了,這正反映了作者工藝學(xué)的思想——軟件開發(fā)需要修煉和傳承。
P.S.
Andy Hunt (sometimes credited as Andrew Hunt) is a writer of books on software development, and co-founder of The Pragmatic Programmers, LLC. http://pragprog.com/