代码格式驼峰命名法
引言
每個(gè)人寫(xiě)代碼都有著自己的風(fēng)格,但是這樣一旦幾個(gè)人一起寫(xiě)項(xiàng)目的時(shí)候就會(huì)出現(xiàn)各種各樣的問(wèn)題,所以統(tǒng)一格式的代碼會(huì)看起來(lái)更舒服更規(guī)范,也能直觀的體現(xiàn)出你的編碼水平,下面我就以C++為例,講一下基本的代碼格式和駝峰命名法則
這里代碼格式是摘自Google部分內(nèi)容和總結(jié)的內(nèi)容,適用于學(xué)生日常的練習(xí),平常練習(xí)培養(yǎng)好習(xí)慣,對(duì)以后工作會(huì)大有幫助;
一些歸類
這里說(shuō)一點(diǎn)是大括號(hào)和控制語(yǔ)句保持同一行的,這樣可以縮短代碼的行數(shù),特別是項(xiàng)目中代碼行數(shù)很多的情況下,這種寫(xiě)法是可以提高閱讀代碼的效率。
例如
while (n) { } if (n) { } else { }代碼頭文件是頂頭寫(xiě)的,即前面沒(méi)有空格
#include<iostream> #include<vector>在類中參數(shù)權(quán)限是在類聲明的下一行,且前面有一個(gè)空格
換行后的參數(shù)保持 4 個(gè)空格的縮進(jìn).(這個(gè)也適用于函數(shù)和條件、循環(huán)語(yǔ)句)
水平留白
通用
void f(bool b) { // 左大括號(hào)前總是有空格.int i = 0; // 分號(hào)前不加空格. // 列表初始化中大括號(hào)內(nèi)的空格是可選的. // 如果加了空格, 那么兩邊都要加上. int x[] = { 0 }; int x[] = {0};// 繼承與初始化列表中的冒號(hào)前后恒有空格. class Foo : public Bar {public:// 對(duì)于單行函數(shù)的實(shí)現(xiàn), 在大括號(hào)內(nèi)加上空格// 然后是函數(shù)實(shí)現(xiàn)Foo(int b) : Bar(), baz_(b) {} // 大括號(hào)里面是空的話, 不加空格.void Reset() { baz_ = 0; } // 用括號(hào)把大括號(hào)與實(shí)現(xiàn)分開(kāi).添加冗余的留白會(huì)給其他人編輯時(shí)造成額外負(fù)擔(dān). 因此, 行尾不要留空格. 如果確定一行代碼已經(jīng)修改完畢, 將多余的空格去掉; 或者在專門(mén)清理空格時(shí)去掉(尤其是在沒(méi)有其他人在處理這件事的時(shí)候).
循環(huán)和條件語(yǔ)句
if (b) { // if 條件語(yǔ)句和循環(huán)語(yǔ)句關(guān)鍵字后均有空格. } else { // else 前后有空格. } while (test) {} // 圓括號(hào)內(nèi)部不緊鄰空格. switch (i) { for (int i = 0; i < 5; ++i) { switch ( i ) { // 循環(huán)和條件語(yǔ)句的圓括號(hào)里可以與空格緊鄰. if ( test ) { // 圓括號(hào), 但這很少見(jiàn). 總之要一致. for ( int i = 0; i < 5; ++i ) { for ( ; i < 5 ; ++i) { // 循環(huán)里內(nèi) ; 后恒有空格, ; 前可以加個(gè)空格. switch (i) {case 1: // switch case 的冒號(hào)前無(wú)空格....case 2: break; // 如果冒號(hào)有代碼, 加個(gè)空格.操作符
// 賦值運(yùn)算符前后總是有空格. x = 0;// 其它二元操作符也前后恒有空格, 不過(guò)對(duì)于表達(dá)式的子式可以不加空格. // 圓括號(hào)內(nèi)部沒(méi)有緊鄰空格. v = w * x + y / z; v = w*x + y/z; v = w * (x + z);// 在參數(shù)和一元操作符之間不加空格. x = -5; ++x; if (x && !y)...模板和轉(zhuǎn)換
// 尖括號(hào)(< and >) 不與空格緊鄰, < 前沒(méi)有空格, > 和 ( 之間也沒(méi)有. vector<string> x; y = static_cast<char*>(x);// 在類型與指針操作符之間留空格也可以, 但要保持一致. vector<char *> x;垂直留白
總述
垂直留白越少越好.
駝峰命名法
這個(gè)是對(duì)變量命名常用方法之一,恰當(dāng)命名的變量更有利于對(duì)代碼的理解;
小駝峰法
第一個(gè)單詞首字母小寫(xiě),后面其他單詞首字母大寫(xiě)。
大駝峰法
大駝峰法把第一個(gè)單詞的首字母也大寫(xiě);
大駝峰法通常用于類名、函數(shù)名、屬性名;
總結(jié)
這里的風(fēng)格只是一種,但是Google的代碼風(fēng)格還是使用非常廣泛的,學(xué)生時(shí)期日常練習(xí)時(shí)就可以下意識(shí)使用這種風(fēng)格,這對(duì)自己代碼的規(guī)范性有很大好處,以后工作時(shí)還是要根據(jù)公司實(shí)際情況使用;
這里只是一部分,但是已經(jīng)足夠基本刷個(gè)題使用了。如果有遺漏,以后會(huì)補(bǔ)充;
總結(jié)
- 上一篇: 最长递增子序列 最长连续递增序列
- 下一篇: 最长重复子数组最长公共子序列不相交的线