自己总结 C++ 代码规范

1.编写原则,代码尽量简单,简洁,高效,自己写的代码让自己和别人容易看懂
2.命名:
    a.

        类的成员变量加前缀 m_(表示 member)。
        常量全用大写的字母,用下划线分割单词(const int MAX_LENGTH = 100;)
        循环变量和简单变量采用简单小写字符串即可。例如,int i;
       指针变量用p打头,例如void* pBuffer;
    b.变量,函数,文件命名应该具有描述性,最好采用英文单词或其组合
    c.类名和函数名用大写字母开头的单词组合而成。
3.缩进:统一使用tab,不用空格
4.注释:
        a.程序块的注释常采用" /*...*/",行注释一般采用" //..."
        b.尽量不要使用注释
        c.无用代码注释,确定无用后及时删除

5.代码编写经验:
    a.不要引入新的warning代码
    b.函数参数中尽量使用const,避免意外的改动
    C.变量定义后必须初始化
    d.一行代码只做一件事情。长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首
        if ((veryVeryLongWidth > veryVeryLongHeight)
            || (veryVeryLongWidth < veryVeryLongHeight))
        {
            ...

        }
6.代码重构
    a.尽量利用函数、继承、去除重复代码。
    b.单个函数代码过长的,要拆分成多个代码块
    c.有新的、简洁的解决方案,要及时替换
    d.有代码更新就要考虑重构
7.代码rerview
    a.新的功能只是三遍review,自测成功一遍,提测前一遍,上线前一遍(有时间会做集体review)
    b.也可以review他人代码

Original: https://www.cnblogs.com/zendu/p/7729589.html
Author: zyz913614263
Title: 自己总结 C++ 代码规范

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536611/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C++11 右值引用和转移语义

    新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Se…

    C++ 2023年5月29日
    076
  • Android JNI c/c++调用java 无需新建虚拟机

    近期通过研究SDL源码 得出android JNI c/c++调用java 无需新建虚拟机: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass void Java_c…

    C++ 2023年5月29日
    042
  • Kruskal算法(二)之 C++详解

    在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树。 例如,对于如上图G4所示的连通网可以有多棵…

    C++ 2023年5月29日
    053
  • C++多线程库的常用模板类 std::lock_guard

    格式:类名 + 头文件 + 用例 + 解释说明 解释说明: C++标准库为互斥量提供了一个RAII语法的模板类 std::lock_guard,在构造时对互斥量上锁,并在析构的时进…

    C++ 2023年5月29日
    059
  • C++ 回调函数详解

    1、什么是回调函数回调函数本质上也是普通函数,只是调用机制有所区别——首先通过传参的形式将该函数的地址传递给其他函数,然后在其他函数中通过函数指针调用该函数。在其他函数中通过函数指…

    C++ 2023年5月29日
    069
  • WIN部分程序调用VS C++库导致提示报错R6034解决方法

    最近电脑上的部分软件运行的时候有时候会报错R6034,猜测可能是软件安装冲突导致 可能是因为软件在调用VS C++runtime error库的dll文件的时候找不到或者找到了错误…

    C++ 2023年5月29日
    075
  • C++ extern用法总结(转)

    在C语言中,修饰符extern用在变量或者函数的声明前,用来说明”此变量/函数是在别处定义的,要在此处引用”。 (1)extern修饰变量的声明 如果文件a…

    C++ 2023年5月29日
    043
  • C/C++定义全局变量/常量几种方法的区别

    在讨论全局变量之前我们先要明白几个基本的概念: 编译单元(模块):在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK…

    C++ 2023年5月29日
    066
  • [C++] 对象指针使用方法

    对象指针:指向类对象的指针 类指针指向类变量(对象)的地址 对象指针定义格式: 举例: #include using namespace std; class Student { …

    C++ 2023年5月29日
    052
  • 29.qt quick-在QML中调用C++类

    Qt Quick文章已移植到CSDN博客:https://blog.csdn.net/qq_37997682/category_11280267.html,本博客停止更新。 专栏入…

    C++ 2023年5月29日
    053
  • (转载)【C++】new A和new A()的区别详解

    我们在C++程序中经常看到两种new的使用方式:new A以及new A()。那么这两种究竟有什么区别呢? 调用new分配的内存有时候会被初始化,而有时候不会,这依赖于A的类型是否…

    C++ 2023年5月29日
    044
  • C++11 之 override

    公有继承包含两部分:一是 “函数接口” (interface),二是 “函数实现” (implementation) 如 Shape…

    C++ 2023年5月29日
    043
  • C++多线程库的常用函数积累和整理

    std::scoped_lock 待完成 标准库中 std::recursive_mutex提供这样的功能 一个互斥量可以在同一线程上多次上锁, 待完成 std::thread 类…

    C++ 2023年5月29日
    047
  • vscode配置c++

    在.vscode里创建三个文件 c_cpp_properties.json, launch.json, settings.json, tasks.json c_cpp_proper…

    C++ 2023年5月29日
    066
  • 聊聊 C++ 中的四种类型转换符

    一:背景 在玩 C 的时候,经常会用 void* 来指向一段内存地址开端,然后再将其强转成尺度更小的 char* 或 int* 来丈量一段内存,参考如下代码: int main()…

    C++ 2023年5月29日
    065
  • C# vs C++ 全局照明渲染性能比试

    512×512像素,每像素1000采样,C#版本渲染时间为40分47秒 最近有多篇讨论程序语言趋势的博文,其中谈及到C#的性能问题。本人之前未做过相关测试,自己的回覆流于…

    C++ 2023年5月29日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球