google編碼規範 Naming

2021-06-14 19:27:50 字數 3288 閱讀 7611

函式名,變數名和檔名應該是描述性的,要避免縮寫。型別和變數應該是名詞,函式名應該是帶有命令式的動詞。

how to name

盡可能給出乙個描述性的合理的名字。不要擔心節省水平空間,因為這並遠遠不及使得你的**讓新讀者容易讀懂重要。以下都是好的命名:

int num_errors;                  // good.

int num_completed_connections;   // good.

不好的命名用了不傳遞任何含義的模糊的縮寫或者任意的字元。

int n;                           // bad -meaningless.

int nerr;                        // bad - ambiguousabbreviation.

int n_comp_conns;                // bad - ambiguous abbreviation.

型別和變數名通常應該是名詞,例如,fileopener, num_errors.

函式名通常應該是帶有命令式的:例如,openfile(), set_num_errors()。取值函式例外。

abbreviations

不要用縮寫,除非它們是眾所周知的。例如:

// good

// these show proper names with noabbreviations.

int num_dns_connections;  // most people know what "dns"stands for.

int price_count_reader;   // ok, price count. makes sense.

// bad!

// abbreviations can be confusing orambiguous outside a small group.

int wgc_connections;  // only your group knows what this standsfor.

int pc_reader;        // lots of things can be abbreviated"pc".

不要用省掉字母的縮寫方式:

int error_count;  // good.

int error_cnt;    // bad.

檔名應該是都是小寫,可以包含下劃線(_)或者破折號(-)。按照你的專案中使用的慣例。如果沒有一致的模式,最好用「_」.。

以下例子都是可以接收的檔名:

my_useful_class.cc

my-useful-class.cc

myusefulclass.cc

myusefulclass_test.cc // _unittest and _regtest are deprecated.

c++原始檔應該是 .cpp,標頭檔案應該是 .h結尾。

不要用存在 於/usr/include中的檔名,如 db.h。

一般的,你的檔名應該是很具體。例如,用http_server_logs.h 而不是 logs.h。通常情況下是有成對的檔案,如用foo_bar.h和foo_bar.cpp定義類foobar。

內聯函式必須是房子 .h檔案。如果你的內聯函式很短,可以直接放在 .h檔案。然而,如果你的內聯函式有很多**,則應該放在以–inl.h結尾的第三個檔案。如果乙個類有很多內聯**,則你的類應該有三個檔案:

url_table.h      // the class declaration.

url_table.cc     // the class definition.

url_table-inl.h  // inline functions that include lots ofcode.

型別名開頭和每個新單詞的首字母為大寫,而且不帶下劃線:myexcitingclass, myexcitingenum.

所有型別名:class,struct,typedefs和enum都有相同的命名規則。型別名開頭和每個新單詞的首字母應該為大寫,而且不帶下劃線

// classes and structs

class urltable

void set_num_entries(int num_entries)

private:

intnum_entries_;

對於其他很簡短的內聯函式名你也可能用小寫。例如,如果乙個函式代價不高,當你在迴圈裡呼叫它可能不存在值,那麼用小寫字母的函式名是可以接受。

命名空間名字都是小寫,並且一句專案名和專案目錄結構:google_awesome_project

列舉名要麼像常量,要麼像巨集一樣: kenumname 或 enum_name

最好,單獨的列舉命名應該跟常量一樣。然而,跟巨集命名一樣也是可以接受的。列舉名 ,urltableerrors,是乙個型別,所以大小寫混合。

enum urltableerrors {

kok= 0,

kerroroutofmemory,

kerrormalformedinput,

enum alternateurltableerrors {

ok= 0,

out_of_memory = 1,

malformed_input = 2,

直到2023年1月,列舉值命名風格還是跟巨集一樣。這引起了列舉值和巨集的命名衝突。因此,形成一致的命名風格還在實施中。新的**應盡可能用不變的命名風格。然而,也沒有理由改變舊的**用新的命名風格,除非就的名字實在引發了編譯問題。

你不是真的需要定義乙個巨集。如果真的需要,可以像這樣定義: my_macro_that_scares_small_children

通常不應該用巨集。然而,如果絕對需要,巨集名應該是由大寫字母和下劃線組成。

#define round(x) ...

#define pi_rounded 3.0

如果你定義乙個和已經存在的c或者c++實體類似的實體,你可以遵循已經存在的實體的命名方式。

bigopen()

function name, follows form of open()

uint

typedef

bigpos

struct or class, follows form of pos

sparse_hash_map

stl-like entity; follows stl namingconventions

longlong_max

a constant, as in int_max

Google對外發布C 編碼規範

csdn.net簡訊 早已開放多時的google c 編碼規範這幾天引起了業內開發人員的廣泛關注。其中,來自矽谷的柯化成認為,這是地球上最好的乙份c 程式設計規範,沒有之一,建議廣大國內外it人員研究使用。盛大的資深開發者趙劼表示,非常同意。google在這方面下足了功夫,讓所有人寫出來的 都使用同...

C 31 Google編碼規範 示例

看了google編碼規範,做了一些整理與示例。檔名 變數名 小寫 可拼接 類名 函式名 常量 首字母大寫。巨集 列舉 全大寫。myclassfile.h 1.檔名 小寫 有 線或者 與類名對應 myclassfile.cpp my class file.cpp myclassfile.h 2.類名 ...

php 編碼規範哪些 php編碼規範

1.php 必須以完整的形式來定界 即不要使用php 短標籤 且保證在關閉標籤後不要有任何空格。2.當乙個字串是純文字組成的時候 即不含有變數 則必須總是以單引號 作為定界符。例如 a example string 3.變數替換中的變數只允許用 變數名 的形式。例如 greeting hello n...