zoukankan      html  css  js  c++  java
  • ###Maintainable C++

    点击查看Evernote原文

    #@author:       gr
    #@date:         2014-08-15
    #@email:        forgerui@gmail.com
    

    记录一些标准规范。让自己的编码更可读,更可维护。(代码风格尽量统一)

    一、Contents

    1. tab or spaces

    尽量使用spaces取代tabtab键可能在不同编辑器缩进不同,导致混乱。把tab使用4个space代替。

    2. 代码换行

    如果一行超过80个字符,则需要进行换行。第二行应以第一行同一级的位置开始,如果这样太靠右,可以缩进8个空格。换行的地方可以在,(逗号)后面,或者操作符前面,保证不会因为换行导致歧义。

    3. 在for, if, while等后面需要空一格

    空一格会保证代码更易读,更优雅。

    for(int i; i < 10; ++i){}
    for (int i; i < 10; ++i){}
    while(i < 10){}
    while (i < 10){}
    

    4. 单行注释上方尽量空一行

    //快速排序
    quick_sort(a);
    //归并排序
    merge_sort(a);
    

    更好的写法是,下面的写法在代码多的时候更优秀。

    //快速排序
    quick_sort(a);
    
    //归并排序
    merge_sort(b);
    

    5. 操作符两边空格

    操作符两边都要空格,逗号后面要空格,最基本的编程素养,重要性就不说了。注意要手敲这些空格,强烈不推荐使用代码格式化工具去做这些工作,如果以后在文本编辑器中,没有IDE,那写的代码简直是一坨。

    int a=1,b=3,c=4;
    int a = 1, b = 3, c = 4;
    if(a>b);
    if (a > b);
    

    6. 命名

    • 变量命名尽量统一,比如统一使用小写字母加下划线的格式。

        //可以
        int node_flag;
        int nodeFlag;
        //不可以
        int Node_Flag;
      
    • 类型命名使用大小写交替的形式,类型包括class, struct, enum ...
      class TrackRouter{};
      struct SensorNode{};
      enum SensorStatus{RUN, STOP, DESTROY};

    • 函数使用大小写字母交替表示,第一个单词首字母小写,之后每个单词首字母大写。

        void addTable();
        inline int get_status();
      
    • 文件命名以小写下划线组合。

    • 宏定义使用大写字母下划线。

    • 命名空间小写下划线。

    7. 头文件卫士

    在头文件中尽量使用头文件卫士。防止头文件被重复引用。

    #ifndef _A_H_
    #define _A_H_
    ...
    #endif//_A_H_
    

    8. 循环

    循环次数多的放在里面,这样可以减少CPU跨切循环层次数。

    for (int a = 0; a < 5; a++){
        for (int b = 0; b < 100; b++){
            //...
        }
    }
    

    尽量减少循环里的判断。

    for (int i = 0; i < 5; i++){
        //尽量移到循环外面
        if(){}
        else{}
    }
  • 相关阅读:
    富文本编辑器编辑
    你是怎么发上去的
    f
    xxx
    test
    sgsdg
    code
    html2canvas.js——HTML转Canvas工具
    后台返回流图片的处理方式。(原生,JQ,VUE)
    渐进式web应用开发---service worker
  • 原文地址:https://www.cnblogs.com/gr-nick/p/4000863.html
Copyright © 2011-2022 走看看