1.4.2 空格、大括號位置及縮進
適當添加空格、不濫用空格,對提高代碼的可讀性和維護代碼的整潔性具有很大的幫助。這方面的最佳實踐便是采納Linux內核編碼風格的相關規定。
(1)單目運算符和++
、--
運算符的前后不加空格,例如像下面這樣的寫法是正確的:
int *p = (int *)&a; p++; --a;
像下面這樣的寫法是不正確的:
a ++; ++ p;
(2)函數名稱,包括可按函數方式調用的關鍵字(如sizeof
)和宏的后面,不要加空格,例如像下面這樣的寫法是正確的:
call_me(sizeof(int), MAX(x, y));
其中,參數列表中的逗號之后應該添加空格。
像下面這樣的寫法是不正確的:
call_me (sizeof (int),MAX (x,y));
(3)不要在行尾添加空格。這一點很重要,但很容易被忽視,因為行尾的空格在視覺上是看不出來的。為此,可以修改編輯器的設置,顯示行尾的空白字符,比如將行尾的空格顯示為灰色的句點。
(4)雙目運算符或多目運算符的前后,以及關鍵字(如if
、else
、for
)的后面一般需要添加空格,例如:
if (a && b) { }
但也有一些例外,比如雙目的成員訪問操作符(.
和->
)的前后不需要添加空格,例如:
temp->next = NULL;
除空格之外,有關大括號的位置,還有一個建議是遵循Linux內核編碼風格的相關規定。相較于其他編碼風格,Linux內核編碼風格的相關規定最為簡潔。但究竟是使用制表符還是使用空格進行縮進,以及縮進寬度是4個空格還是8個空格,則由讀者自行決定。在實踐中,相較于將if、while等語句后的左大括號({
)單獨一行書寫,筆者更喜歡將其置于行尾,如下所示:
int lots_of_args(int x, long y, short z, double a_double, float a_float) { int haha = 0; if (x < foo(y, z)) { haha = bar[4] + 5; } else { /* 筆者不太喜歡 } else { 這種寫法 */ while (z) { haha += foo(z, z); z--; } haha = ++x + bar(); } return haha; }
推薦閱讀
- Web程序設計及應用
- 觸·心:DT時代的大數據精準營銷
- PyTorch自動駕駛視覺感知算法實戰
- 三維圖形化C++趣味編程
- UI智能化與前端智能化:工程技術、實現方法與編程思想
- C語言程序設計案例精粹
- SQL Server 2016數據庫應用與開發習題解答與上機指導
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- 前端HTML+CSS修煉之道(視頻同步+直播)
- HTML5 APP開發從入門到精通(微課精編版)
- 0 bug:C/C++商用工程之道
- Python 3 數據分析與機器學習實戰
- Nagios Core Administration Cookbook(Second Edition)
- Python期貨量化交易實戰
- SwiftUI極簡開發