1. 程式人生 > >蒟蒻的代碼規範與文檔編寫規範

蒟蒻的代碼規範與文檔編寫規範

master 文檔 應用 命名 遍歷 span 上一個 傳址 出現

代碼規範

  1. 代碼每行不得超過 80 個字符;
  2. 代碼不分塊、連續編寫,且每一個模塊不允許超過 100 行;
  3. 雙目運算符運算對象與運算符之間一定要分別打一個空格,單目運算符與運算對象之間不打空格;
  4. 禁止使用 Tab 縮進,使用 2 空格縮進代碼。
  5. 宏定義時沒有縮進。
  6. 基本使用 Java 代碼風格,如果在 forif 後只有一兩個語句,盡量不使用大括號包圍,如果一定要使用大括號,則盡量壓行書寫。
  7. 模塊化的代碼,提倡代碼寬而短,不提倡瘦長的代碼風格。
  8. 沒有通用的頭文件,隨用隨加。
  9. 盡量開局部變量,減少全局變量的使用。
  10. 大塊的內存空間隨用隨開,用完後立即釋放,並且設置為空指針
  11. 盡量使用指針書寫代碼,以便提高代碼執行效率和可讀性。
  12. 除遞歸調用的所有其它函數都使用 inline 以加快執行效率。
  13. 所有函數參數如非必要,均使用傳址或傳指針的方式,以減小拷貝構造帶來常數。且能夠使用 const 修飾的均應使用 const 進行修飾。
  14. 類型名的修飾符如取地址符、解指針符等采用較為隨意的方式。如 node *foo(指針指向的對象)、node* &foo(需要修改指針)、node* foo(指針本來的含義) 這三種寫法都是可以的。以容易理解為前提(因為不同時期的代碼風格不太一樣,就只有這個地方一直統一不起來)。
  15. 所有的函數名盡量采用駝峰命名法,如 readIn()。特別地,對於一些模板性的函數,則使用其較為廣泛使用的名稱,如 SPFA
    Treap。對於重寫的一些庫函數,則使用相應的命名方式。

文檔格式

好好寫文檔就行了。排版什麽的暫時由 Han.js 負責。但是在書寫時註意以下幾點:

  1. 正確使用中文全角標點符號。通常習慣使用 來提高中文引號的辨識度,同時也常用分號來表示列表環境中各復句之間的關系。正確使用示例如下:

    • 中學生學科競賽主要包括信息學奧林匹克競賽、信息學奧林匹克競賽、信息學奧林匹克競賽、信息學奧林匹克競賽和信息學奧林匹克競賽(我就是這個樣,你來打我啊)。
    • “你吃了嗎?”,李四問張三。
    • 我想對你說:“我真是太喜歡你了。”
    • 「茍利國家生死以,豈因禍福避趨之!」
    • 推薦題目:「LOJ #104 普通平衡樹」
    • 以下是這個算法的基本流程:
      • 第一步,初始化到各點的距離為無窮大,將所有點設置為未被訪問過,初始化隊列;
      • 第二步,將起點放入隊列,將起點設置為已被訪問過,更新到起點的距離為 \(0\)
      • 第三步,取出隊首元素,將該元素設置為未被訪問過;
      • 第四步,遍歷所有與此元素相連的邊,若到這個點存在更短的距離,則進行松弛操作;
      • 第五步,若這個點未被訪問過,則將這個點放入隊列,且設置這個點為已經訪問過;
      • 第六步,回到第三步,直到隊列為空。
  2. LaTeX 定義好了的常量與函數名直接用。所有的函數名、常量均應使用 Roman 體。
  3. 如果遇到沒有預先定義好的需要使用 Roman 體的函數名,我們可以使用 \operatorname{something} 來產生,如我們可以使用:

    \operatorname{lcm}
    產生正體的最小公倍數(函數)符號:\(\operatorname{lcm(1,\,2)}\)。產生 Roman 體的常量應用 \mathrm{};其他非數學內容,包括中文、英文、特殊符號等,一律使用 \text{}
  4. 絕對不能濫用公式字體。
  5. 表示強調時請使用 **SOMETHING** 而非某級標題。
  6. 全角字符(漢字、假名、諺文等)與半角字符(英文字母、阿拉伯數字、公式)之間添加一個半角空格,特別地,對於半角字符前後出現全角標點的情況,不需要添加多余的半角空格。類似地,對於英文的半角標點,請在標點後添加一個半角空格。請參考下面的例子:

    • 對於一元二次方程 \(ax^2+bx+c=0\),我們設 \(\Delta=b^2-4ac\) 為二次方程的判別式。若 \(\Delta\le0\),則說明方程有實數根。
    • 我要把貢獻者的 Pull Request 合並到 master 分支上了。
    • B 站的 22 娘和 33 娘真是太萌了!
    • The quick brown fox jumps over a lazy dog. I can eat glass, it doesn‘t hurt me.
  7. 所有用作序號的數字建議使用中文。
  8. 從不使用段首縮進這種操作。
  9. 所有用作序號的數字建議使用中文。
  10. LaTeX 的每個逗號後,都需要補上一個寬度為 0.25em 的空格 \,

測試中英文混排aaa...

蒟蒻的代碼規範與文檔編寫規範