目錄前言 1規(guī)則的起源 7規(guī)則的變通 11規(guī)則1 盡量簡化,但不要簡化得太過分 15規(guī)則2 別讓bug 蔓延 33規(guī)則3 良好的名稱是最佳的文檔 53規(guī)則4 必須有三個用例才能泛化 69規(guī)則5 頭一條優(yōu)化原則就是不要優(yōu)化 89插曲:有人批評上一條規(guī)則了 107規(guī)則6 代碼審查有三個好處 111規(guī)則7 消除可能出現故障的情況 119規(guī)則8 運行不到的代碼,是不管用的 143規(guī)則9 編寫可折疊的代碼 159規(guī)則10 把復雜的東西控制起來 181規(guī)則11 決定重做之前,先想想這能不能比原來好一倍 201規(guī)則12 大型團隊需要有嚴格的約定 211規(guī)則13 找出引發(fā)崩潰的根源 225規(guī)則14 學會辨別代碼的四種風味 245規(guī)則15 給代碼除草 263規(guī)則16 從想要的結果出發(fā)倒著推,而不要從現有的代碼出發(fā)正著推 271規(guī)則17 大問題有時更容易解決 299規(guī)則18 讓代碼自己說話 315規(guī)則19 通過一套平行的系統(tǒng)來修改項目 327規(guī)則20 先把賬算清 355規(guī)則21 有的時候,你就是得搬磚 369結語:自己掌握規(guī)則 379附錄A 寫給Python 程序員的C 指南 383附錄B 寫給JavaScript 程序員的C 指南 405