美文网首页程序员
Bug天敌:代码风格规范

Bug天敌:代码风格规范

作者: 信息学小屋 | 来源:发表于2020-05-06 23:31 被阅读0次

俗话说:“字如其人。”,我说:“代码如其人。”

养成规范的代码风格,可以有效地减少bug的产生,提高阅读程序的效率,使程序更易被理解。
在开发当中,代码风格是一名程序员基本功力的体现,可以说是非常重要的。
在竞赛当中,整齐的代码可以缓解环境带来的压力,更易发现其中的逻辑错误,是提高成绩的有效方法。
参考了Menci学长的博客,综合我的编程经历,总结出一下代码规范。

概览

  • 头文件("include")应放在程序的最开头,能使用 “<>” 包含的,一律使用 “<>” 包含,其他才情况使用双引号。

  • "include" 和具体头文件之间应有一个空格。

  • 不要使用 "using namespace std;" 。

  • 不要定义宏,使用 "const" 或 “typedef” 代替。

  • 统一使用一个Tab或四个空格进行缩进。

函数

  • 所有函数均需要正确返回值,不能用 "int" 来代替 "void" 或其他类型。

  • 函数名后应加一个空格,再接参数。

  • 大括号应与函数名在同一行,同时与函数的参数有一个空格。

  • 调用函数时,多个参数应用一个空格隔开。

举个栗子:

void func (int i, int j) {
    //something
}

空格(空行)

  • 等号、加号、减号等各种符号左右应各有一个空格。

  • 一行有多个并列语句时,应用空格隔开。

  • 头文件,变量定义,函数的各个块之间应有一个空行隔开。

  • 一个函数中实现不同内容时也应有一个空行隔开

举个栗子:

#include <iostream>
#include <cstdlib>

const int N = 1e5 + 5;
int n, m, k;

int func (int i, int j) {
    //something
}

int main () {
    cin >>n >>m >>k;
    
    for (int i = 1; i <= n; ++i) {
        //something
    }
    
    int ans = max(n, m, k);
    cout <<ans <<endl;
    
return 0;

变量

  • 循环变量使用 i, j, k, p, q 等。

  • 禁止使用全局变量。

  • 不直接使用常数,应将其定义为常量。

  • 常量命名为大写英文缩写。

  • 变量命名不能重复(函数内外也不行)。

  • 变量用小写英文缩写命名。

  • 指针变量与引用变量中的 “*” 和 “&” 应靠近类型名称,不能靠近变量名。

面向对象

(这点仅针对开发编程)

  • 只能使用 “class”,而不能使用 “struct”。

  • “class” 中的 public 类型应放在最前面。

  • “class” 中的变量只能是 private 或 protected 类型,可以设有更改和查询变量的函数,但查询函数要有 “const” 修饰。

【信息学竞赛从入门到巅峰】,一个专注于分享OI/ACM常用算法及知识的公众号。

相关文章

网友评论

    本文标题:Bug天敌:代码风格规范

    本文链接:https://www.haomeiwen.com/subject/jmjnghtx.html