官术网_书友最值得收藏!

1.4.5 命名規(guī)則保持一致

在代碼中,應采用一致的命名規(guī)則(K&R命名法或匈牙利命名法),而不能混用命名規(guī)則。但是,C代碼更傾向于采用K&R命名法。因此筆者建議,除用于接口的函數(shù)名稱之外,最好在內(nèi)部的實現(xiàn)代碼中統(tǒng)一采用K&R命名法,并避免出現(xiàn)像spName這樣的命名風格。用于接口的函數(shù)名稱采用匈牙利命名法或者帶有小寫前綴的駝峰命名法具有一定的優(yōu)勢,并且容易把這些接口和系統(tǒng)函數(shù)名或者其他函數(shù)庫的接口名區(qū)分開來,從而在一定程度上避免命名污染。比如常用于解析JSON的開源函數(shù)庫cJSON,其接口定義如下:

/* returns the version of cJSON as a string */
const char* cJSON_Version(void);
 
/* Supply malloc, realloc and free functions to cJSON */
void cJSON_InitHooks(cJSON_Hooks* hooks);
 
cJSON * cJSON_Parse(const char *value);
cJSON * cJSON_ParseWithLength(const char *value, size_t buffer_length);

除源代碼中的函數(shù)名、變量名之外,用于組織源代碼的目錄和文件的命名規(guī)則也需要得到重視。下面給出一些常規(guī)建議:

(1)僅使用ASCII可打印字符(文件系統(tǒng)不允許的字符除外),而不要使用中文、表情符號等特殊字符;

(2)使用-連接多個單詞而避免使用_,這一點和C代碼中的變量名不同;

(3)使用全小寫的文件名和目錄名。

如此,ordered-map.c就是合乎上述建議的文件名,而ordered_map.c就不是合乎上述建議的文件名。

主站蜘蛛池模板: 南岸区| 监利县| 吴忠市| 潼关县| 磐石市| 瑞金市| 德江县| 农安县| 池州市| 万盛区| 金塔县| 康平县| 利津县| 慈利县| 博乐市| 文水县| 新沂市| 阿巴嘎旗| 塘沽区| 大同县| 阿拉善右旗| 大方县| 新泰市| 营口市| 屏东市| 大埔县| 建湖县| 兴安盟| 鄂温| 福建省| 读书| 隆子县| 霍山县| 武乡县| 剑阁县| 桦南县| 青海省| 文水县| 大余县| 丽江市| 广西|