讀《代碼大全》

來源:互聯網
上載者:User

        前段時間把《代碼大全》略略翻了一遍,網上down的電子書,省了筆書費——當然這是不對的,無論從著作權的角度還是從愛護眼睛的角度。英文版的書名為Code Complete,從書的內容來看,我更願意把書名譯作《代碼寫作攻略大全》。這確實是一本攻略大全,最佳實務大全。書中第2章介紹了軟體開發中的“隱喻”。軟體開發是相對較新的活動,通過已有的活動來理解軟體開發,興許會更容易而深刻。作者最為認同的隱喻是“建造軟體”,以下不妨以下圍棋喻之。

        在軟體開發中,大量的工作需要嚴謹的邏輯思維——如寫個子程式,寫個演算法(相當於圍棋中的局部計算);而設計則需要發散思維,好比圍棋中確定行棋的方向,策略等戰略決策。“設計是一個險惡的問題”,而圍棋中的戰略決策亦充滿變數;“設計是個了無章法的過程”,而圍棋中的戰略決策亦無章法可尋——那些雄奇的構想,鬼知道是怎麼出來的。“設計是不確定的”,圍棋中不同的戰略決策也常常難分優劣。

抱著“實用主義”的程式員也許會覺得“學院派”程式員的種種“最佳實務”是多此一舉;我覺得多一些最佳實務並沒有壞處——因為在代碼中,美與實用是不矛盾的。優雅的代碼簡潔明了,行雲流水,它的價值將體現在後期的維護與擴充中。而“壞味”的代碼是潛在的麻煩製造者。圍棋中亦有“味道”一詞,味道好的棋形靜如處子,動若脫兔,蘊藏著潛力;而味道壞的棋形則是行棋的累贅。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.