我個人使用通常稱為“K&R”的風格。當使用C語言沒有的構造函數時,需要增加新的習慣,這樣就變成了一種有時被稱為“Stroustrup”的風格。例如:
class C : public B {
public:
// ...
};
void f(int* p, int max)
{
if (p) {
// ...
}
for (int i = 0; i<max; ++i) {
// ...
}
}
比大多數布局風格更好,這種風格保留了垂直的空格,我喜歡盡可能地在合理的情況下對齊屏幕。對函數開頭的大括弧的放置,有助于我第一眼就分別出類的定義和函數的定義。
縮進是非常重要的。
設計問題,諸如作為主要接口的抽象基類的使用,使用模板以表現有彈性的類型安全的抽象,以及正確地使用異常以表現錯誤,比布局風格的選擇要重要得多。
我應該將“const”放在類型之前還是之后?
我把它放在前面,但那僅僅是個人愛好問題!癱onst T”和“T const”總是都被允許的,而且是等效的。例如:
const int a = 1; // ok
int const b = 2; // also ok
我猜想第一種版本可能會讓少數(更加固守語法規范)的程序員感到迷惑。
為什么?當我發明“const”(最初的名稱叫做“readonly”,并且有一個對應的“writeonly”)的時候,我就允許它出現在類型之前或之后,因為這樣做不會帶來任何不明確。標準之前的C和C++規定了很少的(如果有的話)特定的順序規范。
我不記得當時有過任何有關順序問題的深入思考或討論。那時,早期的一些使用者——特別是我——僅僅喜歡這種樣子:
const int c = 10;
看起來比這種更好:
int const c = 10;
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/