zoukankan      html  css  js  c++  java
  • 20180925-5 代码规范,结对要求

    作业要求参见[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2147]

    结对伙伴:李文涛[http://www.cnblogs.com/silentteller/]

    C++编码规范

    1.缩进:因Tab键在不同情况下会显现不同的长度,使用起来阅读体验不佳,故缩进4个空格作为缩进。

    如:

    if(a>b)
    {
        a=b; //缩进为四个空格
    }

    2.行宽:行宽太小,分行太多,翻页太多;行宽太大,右侧看不见,需横向移动,都影响阅读体验。老式计算机行宽为80,现在的计算机可以定为100,可以尽量提高阅读体验。

    3.括号:灵活运用括号进行优先级划分,可以通过括号提高阅读逻辑判断速度时,也应该加上括号。

    如:

    #define MAX ((a>b?a:b)>c?(a>b?a:b):c)

    4.断行与分行:多断行,每行至多一个符号,不让代码看起来长篇冗余,同时运用{}进行结构上的划分,同时{}也是独占一行,使结构更加清晰明了。

    如:

    if(a>b)
    {
        a=b;
    }
    else
    {
        a=c;
    }

    5.命名:除了一些强类型语言之外,其他语言多使用“匈牙利命名法”给变量命名,给变量加上前缀,是程序员能够一眼就看出该变量的类型及相应的语义。

    如:

    fFileExist:表明是一个bool变量,表示文件是否存在。

    szPath:表明是一个字符串,表示一个路径。

    6.下划线:下划线可以用作标识符的前缀,如_path,或者用来分隔变量名中的作用域标注和变量的语义,如用m_来表示一个类型的成员变量。

    7.大小写:所有的类型、类、函数名采用Pascal形式,即:所有单词的第一个字母都大写,所有的变量采用Camel形式,即:第一个单词全部小写,随后单词随Pascal形式。

    如:

    void GetName()
    {
        ...
    }
    int totalNumber;

    8.注释:注释用来解释程序在做什么,为什么这么做,以及需要特别注意的地方。复杂函数将注释放在函数头,注释只应该由ASCII码组成,便于移植。

    //go thru the array, note the last element is at [len-1]
    for(int i=0;i<len;i++)
    {
        sum+=a[i];
    }

    9.初始化:在声明变量时,就对变量进行初始化,多个变量分开成行。

    如:

    int a=0;
    int b=1;

    10.变量声明:变量在块开始前就进行声明,而不是在用到时才进行声明。

    如:

    int count=0;
    ...
    for(int i=0;i<len;i++)
    {
        count++;
    }

     本次编程中代码规范执行情况:

    代码要求 违反纠正次数 更改情况
                     缩进                                   5次                  保持原样
    行宽 0次 将此要求调整为单个函数不超过100行
    括号 4次 保持原样
    断行与分行 6次 保持原样
    命名 2次 保持原样
    下划线 1次 保持原样
    大小写 2次 保持原样
    注释 3次 保持原样
    初始化 2次 保持原样
    变量声明 2次 保持原样
  • 相关阅读:
    LeetCode 453 Minimum Moves to Equal Array Elements
    LeetCode 112 Path Sum
    LeetCode 437 Path Sum III
    LeetCode 263 Ugly Number
    Solutions and Summay for Linked List Naive and Easy Questions
    AWS–Sysops notes
    Linked List
    All About Linked List
    datatable fix error–Invalid JSON response
    [转]反编译c#的相关问题
  • 原文地址:https://www.cnblogs.com/sunsaijia/p/9747548.html
Copyright © 2011-2022 走看看