代码规范
- 代码每行不得超过 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}
产生正体的最小公倍数(函数)符号:\(\operatorname{lcm(1,\,2)}\)。产生 Roman 体的常量应用
\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.
- 所有用作序号的数字建议使用中文。
- 从不使用段首缩进这种操作。
- 所有用作序号的数字建议使用中文。
- LaTeX 的每个逗号后,都需要补上一个宽度为 0.25em 的空格
\,
。
测试中英文混排aaa...
原文地址:https://www.cnblogs.com/TheRoadToAu/p/9588298.html
时间: 2024-10-11 20:05:31