天天看點

代碼大全讀後感之三

  <<代碼大全>>第31章專門介紹代碼的布局與風格,前面提到過,編碼規範最有用之處

在于讓你避免做出武斷決定,避免把時間花在無謂的争執上(第34.5節)。McConnell

并不像一位“家具警察”那樣對待代碼的格式,他認為好的代碼布局應凸現程式的邏輯結構,

使代碼易于閱讀、了解、檢查及修改。至于循環體應該縮進幾個空格,大括号的擺放位置這

些問題,正确答案不止一種。每次回答同樣内容比起隻是回答正确更重要。第28.5

節談到了程式員的信仰問題,縮進風格、大括号的擺放位置、注釋風格、命名習慣、對

goto的使用、對全局變量的使用等等都是十分敏感的話題。關于這種問題,我覺

得Herb Sutter和Andrei Alexandrescu的觀點更貼近程式員的想法[SA04, Item 0]

。那些“僅僅是個人品味、而不影響正确性或可讀性的”議題不應出現在編碼标準中。任

何一個專業的程式員都應該能輕易地閱讀并編寫“那種格式與自己的習慣略有不同的”

代碼。每個源檔案(甚至每個項目)内確定采用一緻的編排格式,因為在同一塊代碼中切換若

幹種風格是很不和諧的。但是不要試圖對多個項目(甚至對整個公司)強制使用相同的編排

格式。重要的不是設定格式規則,而僅僅是與“你維護的檔案中已經采用的”格式保持一緻。