蒟蒻的代碼規範與文檔編寫規範
阿新 • • 發佈:2018-09-04
master 文檔 應用 命名 遍歷 span 上一個 傳址 出現
代碼規範
- 代碼每行不得超過 80 個字符;
- 代碼不分塊、連續編寫,且每一個模塊不允許超過 100 行;
- 雙目運算符運算對象與運算符之間一定要分別打一個空格,單目運算符與運算對象之間不打空格;
- 禁止使用 Tab 縮進,使用 2 空格縮進代碼。
- 宏定義時沒有縮進。
- 基本使用 Java 代碼風格,如果在
for
、if
後只有一兩個語句,盡量不使用大括號包圍,如果一定要使用大括號,則盡量壓行書寫。 - 模塊化的代碼,提倡代碼寬而短,不提倡瘦長的代碼風格。
- 沒有通用的頭文件,隨用隨加。
- 盡量開局部變量,減少全局變量的使用。
- 大塊的內存空間隨用隨開,用完後立即釋放,並且設置為空指針。
- 盡量使用指針書寫代碼,以便提高代碼執行效率和可讀性。
- 除遞歸調用的所有其它函數都使用
inline
以加快執行效率。 - 所有函數參數如非必要,均使用傳址或傳指針的方式,以減小拷貝構造帶來常數。且能夠使用
const
修飾的均應使用const
進行修飾。 - 類型名的修飾符如取地址符、解指針符等采用較為隨意的方式。如
node *foo
(指針指向的對象)、node* &foo
(需要修改指針)、node* foo
(指針本來的含義) 這三種寫法都是可以的。以容易理解為前提(因為不同時期的代碼風格不太一樣,就只有這個地方一直統一不起來)。 - 所有的函數名盡量采用駝峰命名法,如
readIn()
。特別地,對於一些模板性的函數,則使用其較為廣泛使用的名稱,如SPFA
Treap
。對於重寫的一些庫函數,則使用相應的命名方式。
文檔格式
好好寫文檔就行了。排版什麽的暫時由 Han.js
負責。但是在書寫時註意以下幾點:
正確使用中文全角標點符號。通常習慣使用
「
與」
來提高中文引號的辨識度,同時也常用分號來表示列表環境中各復句之間的關系。正確使用示例如下:- 中學生學科競賽主要包括信息學奧林匹克競賽、信息學奧林匹克競賽、信息學奧林匹克競賽、信息學奧林匹克競賽和信息學奧林匹克競賽(我就是這個樣,你來打我啊)。
- “你吃了嗎?”,李四問張三。
- 我想對你說:“我真是太喜歡你了。”
- 「茍利國家生死以,豈因禍福避趨之!」
- 推薦題目:「LOJ #104 普通平衡樹」
- 以下是這個算法的基本流程:
- 第一步,初始化到各點的距離為無窮大,將所有點設置為未被訪問過,初始化隊列;
- 第二步,將起點放入隊列,將起點設置為已被訪問過,更新到起點的距離為 \(0\);
- 第三步,取出隊首元素,將該元素設置為未被訪問過;
- 第四步,遍歷所有與此元素相連的邊,若到這個點存在更短的距離,則進行松弛操作;
- 第五步,若這個點未被訪問過,則將這個點放入隊列,且設置這個點為已經訪問過;
- 第六步,回到第三步,直到隊列為空。
- LaTeX 定義好了的常量與函數名直接用。所有的函數名、常量均應使用 Roman 體。
如果遇到沒有預先定義好的需要使用 Roman 體的函數名,我們可以使用
\operatorname{something}
來產生,如我們可以使用:
產生正體的最小公倍數(函數)符號:\(\operatorname{lcm(1,\,2)}\)。產生 Roman 體的常量應用\operatorname{lcm}
\mathrm{}
;其他非數學內容,包括中文、英文、特殊符號等,一律使用\text{}
。- 絕對不能濫用公式字體。
- 表示強調時請使用
**SOMETHING**
而非某級標題。 全角字符(漢字、假名、諺文等)與半角字符(英文字母、阿拉伯數字、公式)之間添加一個半角空格,特別地,對於半角字符前後出現全角標點的情況,不需要添加多余的半角空格。類似地,對於英文的半角標點,請在標點後添加一個半角空格。請參考下面的例子:
- 對於一元二次方程 \(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.
- 對於一元二次方程 \(ax^2+bx+c=0\),我們設 \(\Delta=b^2-4ac\) 為二次方程的判別式。若 \(\Delta\le0\),則說明方程有實數根。
- 所有用作序號的數字建議使用中文。
- 從不使用段首縮進這種操作。
- 所有用作序號的數字建議使用中文。
LaTeX 的每個逗號後,都需要補上一個寬度為 0.25em 的空格
\,
。
測試中英文混排aaa...
蒟蒻的代碼規範與文檔編寫規範