蒟蒻的代码规范与文档编写规范

Posted theroadtoau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蒟蒻的代码规范与文档编写规范相关的知识,希望对你有一定的参考价值。

代码规范

  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()。特别地,对于一些模板性的函数,则使用其较为广泛使用的名称,如 SPFATreap。对于重写的一些库函数,则使用相应的命名方式。

文档格式

好好写文档就行了。排版什么的暂时由 Han.js 负责。但是在书写时注意以下几点:

  1. 正确使用中文全角标点符号。通常习惯使用 来提高中文引号的辨识度,同时也常用分号来表示列表环境中各复句之间的关系。正确使用示例如下:

    • 中学生学科竞赛主要包括信息学奥林匹克竞赛、信息学奥林匹克竞赛、信息学奥林匹克竞赛、信息学奥林匹克竞赛和信息学奥林匹克竞赛(我就是这个样,你来打我啊)。
    • “你吃了吗?”,李四问张三。
    • 我想对你说:“我真是太喜欢你了。”
    • 「苟利国家生死以,岂因祸福避趋之!」
    • 推荐题目:「LOJ #104 普通平衡树」
    • 以下是这个算法的基本流程:
      • 第一步,初始化到各点的距离为无穷大,将所有点设置为未被访问过,初始化队列;
      • 第二步,将起点放入队列,将起点设置为已被访问过,更新到起点的距离为 (0)
      • 第三步,取出队首元素,将该元素设置为未被访问过;
      • 第四步,遍历所有与此元素相连的边,若到这个点存在更短的距离,则进行松弛操作;
      • 第五步,若这个点未被访问过,则将这个点放入队列,且设置这个点为已经访问过;
      • 第六步,回到第三步,直到队列为空。
  2. LaTeX 定义好了的常量与函数名直接用。所有的函数名、常量均应使用 Roman 体。
  3. 如果遇到没有预先定义好的需要使用 Roman 体的函数名,我们可以使用 operatorname{something} 来产生,如我们可以使用:

    operatorname{lcm}
    产生正体的最小公倍数(函数)符号:(operatorname{lcm(1,,2)})。产生 Roman 体的常量应用 mathrm{};其他非数学内容,包括中文、英文、特殊符号等,一律使用 ext{}
  4. 绝对不能滥用公式字体。
  5. 表示强调时请使用 **SOMETHING** 而非某级标题。
  6. 全角字符(汉字、假名、谚文等)与半角字符(英文字母、阿拉伯数字、公式)之间添加一个半角空格,特别地,对于半角字符前后出现全角标点的情况,不需要添加多余的半角空格。类似地,对于英文的半角标点,请在标点后添加一个半角空格。请参考下面的例子:

    • 对于一元二次方程 (ax^2+bx+c=0),我们设 (Delta=b^2-4ac) 为二次方程的判别式。若 (Deltale0),则说明方程有实数根。
    • 我要把贡献者的 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...

以上是关于蒟蒻的代码规范与文档编写规范的主要内容,如果未能解决你的问题,请参考以下文章

Flask API 文档管理与 Swagger 上手

蒟蒻的错误日志

USACO 简易题解(蒟蒻的题解)

Java学习---Java代码编写规范

9.13面经

前端开发规范及开发文档