更新時間:2017年12月29日16時25分 來源:傳智播客 瀏覽次數(shù):
代碼風(fēng)格有很多種,Windows 和Linux都有自己主流的代碼風(fēng)格,每個團隊、每個公司也可能有自己的代碼風(fēng)格,爭論哪種風(fēng)格好哪種風(fēng)格壞根本沒有什么意義。有助于其他程序員理解的代碼風(fēng)格都是可以接受的,因為遵循特定代碼風(fēng)格的目的就是為了便于交流。
1 命名要展示對象的功能(標(biāo)識符)
作用
給包,類,方法,變量等起名字
組成規(guī)則
由字符,下劃線_,美元符$組成(包括英文大小寫字母,中文字符,數(shù)字字符等)。
注意事項:
不能以數(shù)字開頭
不能是Java中的關(guān)鍵字
命名原則:
盡量做到見名知意
1.1命名規(guī)則
a工程名
工程名一定要能傳達文件的內(nèi)容信息,別人一看到工程名就能知道文件中放的是什么內(nèi)容。把一個類的代碼或者某一類代碼放在一起是好的習(xí)慣,這樣就很容易給工程取一個直觀的名字。業(yè)余愛好者常常把很多沒關(guān)系的代碼糅到一個文件中,結(jié)果造成代碼雜亂無章,也很難給它取一個恰當(dāng)?shù)拿?
b包
最好是域名倒過來,要求所有的字母小寫
c類或者接口
如果是一個單詞首字母大寫
如果是多個單詞每個單詞首字母大寫(駝峰標(biāo)識)
d方法或者變量
如果是一個單詞全部小寫
如果是多個單詞,從第二個單詞首字母大寫
e常量
如果是一個單詞,所有字母大寫
如果是多個單詞,所有的單詞大寫,用下劃線區(qū)分每個單詞
f面向?qū)ο竺绞?/p>
(1) 以對象為中心,采用“主語(對象)+謂語(動作)”的形式來命名,取代傳統(tǒng)的“謂語(動作)+賓語(目標(biāo))”的形式。
如:dlist_append
(2) 第一個參數(shù)為對象,并用thiz命名。
如:dlist_append(DList* thiz, void* value);
(3) 對象有自己的生命周期,因此都有相應(yīng)的創(chuàng)建和銷毀函數(shù)。
2 排版布局要美觀大方
2.1 合理使用空格
等號兩邊用空格。如:int a = 100;
參數(shù)之間用空格。如:test(int a, int b, int c)
語句末的分號與前面內(nèi)容不要加空格。如:test(a, b, c);
其他能讓代碼更美觀的地方。
2.2 合理使用括號
用括號分隔子表達式,不要只靠默認(rèn)優(yōu)先級來判斷。((a && b) || (c && d))
用括號分隔if/while/for等語句的代碼塊,那怕代碼只有一行。
2.3 合理縮進
每一級都正??s進,用tab縮進取代空格縮進。用空格縮進的目的是防止代碼因編輯器的tab寬度不同而變亂,這個擔(dān)心現(xiàn)在是多余的 了,代碼編輯器都支持tab寬度設(shè)置了。如果代碼縮進的層次太多(比如超過三層),則可能是代碼設(shè)計上出了問題。
2.5 遵從團隊的習(xí)慣
這一點是最重要的,一個團隊就要有一個團隊的樣子,不管你的水平有多高,遵循團隊的規(guī)則是一個程序員的基本素養(yǎng)。如果團隊的規(guī)則確實不好,大家應(yīng)該一起完善它。做到這一點,你已經(jīng)離成為專業(yè)程序員這個目標(biāo)更近一步了,重新做一遍練習(xí)吧。隨著后面的學(xué)習(xí),你就可以真正走進專業(yè)程序員這個行列了。