日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

统一命名规则

發(fā)布時(shí)間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 统一命名规则 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?1. #define 保護(hù)

所有頭文件都應(yīng)該使用 #define 防止頭文件被多重包含, 命名格式當(dāng)是:<PROJECT>_<PATH>_<FILE>_H_

項(xiàng)目?SkinTK中的頭文件 SkinTK/SkinTK/targetver.h 可按如下方式保護(hù):

#ifndef SKINTK_SKINTK_TARGETVER_H_ #define SKINTK_SKINTK_TARGETVER_H_#endif//SKINTK_SKINTK_TARGETVER_H_
2. 函數(shù)參數(shù)的順序

定義函數(shù)時(shí), 參數(shù)順序依次為: 輸入?yún)?shù), 然后是輸出參數(shù).

?

3.cpp#include順序

<1>本CPP對(duì)應(yīng)的.h

<2>C系統(tǒng)文件

<3>C++系統(tǒng)文件

<4>其他庫(kù)的.h文件

<5>本項(xiàng)目的.h文件

?

4.使用靜態(tài)成員函數(shù)或名字空間內(nèi)的非成員函數(shù), 盡量不要用裸的全局函數(shù).以免污染全局作用域.

?

5.將函數(shù)變量盡可能置于最小作用域內(nèi), 并在變量聲明時(shí)進(jìn)行初始化.應(yīng)使用初始化的方式替代聲明再賦值

?

6.禁止使用 class 類型的靜態(tài)或全局變量: 它們會(huì)導(dǎo)致很難發(fā)現(xiàn)的 bug 和不確定的構(gòu)造和析構(gòu)函數(shù)調(diào)用順序.

?

7.僅當(dāng)只有數(shù)據(jù)時(shí)使用 struct, 其它一概使用class.

8.在類中使用特定的聲明順序: public:private: 之前, 成員函數(shù)在數(shù)據(jù)成員 (變量) 前;

9.類中的聲明順序:

每個(gè)區(qū)段內(nèi)的聲明通常按以下順序:

  • typedefs 和枚舉
  • 常量
  • 構(gòu)造函數(shù)
  • 析構(gòu)函數(shù)
  • 成員函數(shù), 含靜態(tài)成員函數(shù)
  • 數(shù)據(jù)成員, 含靜態(tài)數(shù)據(jù)成員
  • 聲明次序: public -> protected -> private;

10.所有按引用傳遞的參數(shù)必須加上 const

void Foo(const string &in, string *out);

?

11.

函數(shù)命名, 變量命名, 文件命名應(yīng)具備描述性; 不要過(guò)度縮寫. 類型和變量應(yīng)該是名詞, 函數(shù)名可以用 “命令性” 動(dòng)詞.

int num_errors; // Good. int num_completed_connections; // Good.

?

12.變量命名:

變量名一律小寫, 單詞之間用下劃線連接. 類的成員變量以下劃線結(jié)尾, 如:

string table_name; // OK - uses underscore. string tablename; // OK - all lowercase.

Warning

string tableName; // Bad - mixed case. 全局變量:對(duì)全局變量沒(méi)有特別要求, 少用就好, 但如果你要用, 可以用 g_ 或其它標(biāo)志作為前綴, 以便更好的區(qū)分局部變量

13.常量命名:

有編譯時(shí)常量, 無(wú)論是局部的, 全局的還是類中的, 和其他變量稍微區(qū)別一下. k 后接大寫字母開頭的單詞

const int kDaysInAWeek = 7;

14.函數(shù)命名:

常規(guī)函數(shù):函數(shù)名的每個(gè)單詞首字母大寫, 沒(méi)有下劃線取值和設(shè)值函數(shù):取值和設(shè)值函數(shù)要與存取的變量名匹配int num_entries()const { returnnum_entries_; }void set_num_entries(intnum_entries) {num_entries_ = num_entries;}?15.枚舉命名單獨(dú)的枚舉值應(yīng)該優(yōu)先采用 常量 的命名方式. 但 宏 方式的命名也可以接受. 枚舉名 UrlTableErrors (以及AlternateUrlTableErrors) 是類型, 所以要用大小寫混合的方式. enum UrlTableErrors {kOK = 0,kErrorOutOfMemory,kErrorMalformedInput, };

16.

對(duì)那些臨時(shí)的, 短期的解決方案, 或已經(jīng)夠好但仍不完美的代碼使用 TODO 注釋.

// TODO(kl@gmail.com): Use a "*" here for concatenation operator. // TODO(Zeke) change this to use relations.

?

??

?

轉(zhuǎn)載于:https://www.cnblogs.com/hgy413/archive/2011/10/09/3693583.html

總結(jié)

以上是生活随笔為你收集整理的统一命名规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。