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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

统一命名规则

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 统一命名规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1. #define 保護

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

項目?SkinTK中的頭文件 SkinTK/SkinTK/targetver.h 可按如下方式保護:

#ifndef SKINTK_SKINTK_TARGETVER_H_ #define SKINTK_SKINTK_TARGETVER_H_#endif//SKINTK_SKINTK_TARGETVER_H_
2. 函數參數的順序

定義函數時, 參數順序依次為: 輸入參數, 然后是輸出參數.

?

3.cpp#include順序

<1>本CPP對應的.h

<2>C系統文件

<3>C++系統文件

<4>其他庫的.h文件

<5>本項目的.h文件

?

4.使用靜態成員函數或名字空間內的非成員函數, 盡量不要用裸的全局函數.以免污染全局作用域.

?

5.將函數變量盡可能置于最小作用域內, 并在變量聲明時進行初始化.應使用初始化的方式替代聲明再賦值

?

6.禁止使用 class 類型的靜態或全局變量: 它們會導致很難發現的 bug 和不確定的構造和析構函數調用順序.

?

7.僅當只有數據時使用 struct, 其它一概使用class.

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

9.類中的聲明順序:

每個區段內的聲明通常按以下順序:

  • typedefs 和枚舉
  • 常量
  • 構造函數
  • 析構函數
  • 成員函數, 含靜態成員函數
  • 數據成員, 含靜態數據成員
  • 聲明次序: public -> protected -> private;

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

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

?

11.

函數命名, 變量命名, 文件命名應具備描述性; 不要過度縮寫. 類型和變量應該是名詞, 函數名可以用 “命令性” 動詞.

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

?

12.變量命名:

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

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

Warning

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

13.常量命名:

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

const int kDaysInAWeek = 7;

14.函數命名:

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

16.

對那些臨時的, 短期的解決方案, 或已經夠好但仍不完美的代碼使用 TODO 注釋.

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

?

??

?

轉載于:https://www.cnblogs.com/hgy413/archive/2011/10/09/3693583.html

總結

以上是生活随笔為你收集整理的统一命名规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。