Bjarne Stroustrup語錄[C++經驗]
關鍵字:Bjarne Stroust rup C++經驗一、致讀者 1.在編程序時,你是在為你針對某個問題的 解決方案 中的思想建立起一種具體表示。讓程序的結構盡可能地直接反映這些思想: ★.如果你能把“它”看成一個獨立的概念,就把它做成一個類。 ★.如果你能把“它”看
關鍵字:Bjarne Stroust
rup C++經驗一、致讀者
1. 在編程序時,你是在為你針對某個問題的
解決方案中的思想建立起一種具體表示。讓程序的結構盡可能地直接反映這些思想:
★.如果你能把“它”看成一個獨立的概念,就把它做成一個類。
★.如果你能把“它”看成一個獨立的實體,就把它做成某個類的一個對象。
★.如果兩個類有共同的Interface,將此Interface做成一個抽象類。
★.如果兩個類的實現有某些顯著的共同東西,將這些共性做成一個基類。
★.如果一個類是一種對象的容器,將它做成一個模板。
★.如果一個函數實現對某容器的一個算法,將它做成為對一族容器可用的模板函數。
★.如果一組類、模板等相互之間有邏輯聯系,將它們放進一個名字空間里。
2. 在你定義一個并不是實現某個像矩陣或復數這樣的數學對象的類時,或者定義一個低層的類型如鏈接表的時候:
★.不要使用全局數據(使用成員)。
★.不要使用全局函數。
★.不要使用公用數據成員。
★.不要使用友元,除非為了避免a或c。
★.不要在一個類里面放“類型域”(指那種為了說明一個類所存儲數據的情況而放置的標志域) ;采用虛函數。
★.不要使用在線函數(inline function),除非作為效果顯著的優化。
原文轉自:http://www.anti-gravitydesign.com