首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C/C++ 源代碼書寫規範:文件頭、函數註釋、格式、縮進、空格全方位指南

     編輯:關於C++

1. 文件頭註釋


//////////////////////////////////////////
// FileName: ***.cpp
// Creator: piaocoder
// Date: ****-**-**
// Comment: ***
//////////////////////////////////////////

2. 函數註釋

主要功能函數須註明:功能、入口/出口參數、必要備註。函數內關鍵邏輯亦需註釋。以英文為主。

3. 行長度

推薦 80 列,最長不超 120 列。折行對齊:


HANDLE CSOpenFile(const char cszFileName[],
                  int nMode);

4. 控制結構格式

判斷條件與執行語句不得同行:


// 正確
if (n == -2) n = 1;
else n = 2;

// 不得
if (n == -2) n = 1; else n = 2;

5. 指針聲明

* 緊鄰類型或變量名:int* p; 或 int *p;,不可 int * p;。

6. 類內調用非成員函數

加 :: 前綴:::GlobalFunc();

7. 缺省參數註釋


BOOL KSSaveToFile(const char cszFileName[], BOOL bCanReplace /* = TRUE */);
// 或
BOOL KSSaveToFile(const char cszFileName[], BOOL bCanReplace); // = TRUE

8. else if 同行


else if (cond) { ... }

9. 大括號規範

  • { } 獨佔一行,同列對齊
  • { 後代碼縮進 1 Tab(4 空格)
  • 單語句雖可省略大括號,但不推薦;易歧義處必須加

10. 空格規則

  • 雙目/三目運算符兩側必須有空格
  • 單目運算符兩端不加空格
  • -> . [] :: & *(取址/解引用)前後不加空格
  • for/while/if 後加 1 空格再接 (
  • 函數調用 func(arg) 括號前後不加空格
  • 強制轉換 (Type)expr 或 (Type*)ptr 括號內不加空格

11. 縮進

  • 1 Tab = 4 空格
  • 函數體、控制結構體縮進 1 Tab
  • 折行時運算符留在上行末尾
  • switch 下 case/default 不縮進

示例:標準風格


int Power(int x)
{
    return (x * x);
}

if (i > 0)
{
    m = 1;
    n++;
}

switch (nID)
{
case ID_PLAY:
    // ...
    break;
default:
    // ...
    break;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved