自己总结 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)

大家都在看

  • Windows Runtime——-面向对象化的c++(并非意味着托管)

    Windows8的开发平台总体上分为两部分:一是全新的WinRT,界面搭配Metro style,二是传统的Win32、.NET(SL)、IE三大平台,界面为传统窗体风格。其中全新…

    C++ 2023年5月29日
    084
  • Microsoft Visual C++ 2019 v14.28.29617

    Microsoft Visual C++ Redistributable(系统运行库,简称MSVC,VB/VC)是Windows操作系统应用程序的基础类型库组件。 Microsof…

    C++ 2023年5月29日
    098
  • C++11多线程

    在C++11之前,C++语言层面是不支持多线程的,想利用C++实现并发程序,借助操作系统的API实现跨平台的并发程序存在着诸多不便。在C++11中,终于提供了多线程的标准库,提供了…

    C++ 2023年5月29日
    059
  • c++构造和析构异常

    C++ 构造函数的异常是一个比较难缠的问题,很多时候,我们可能不去考虑这些问题,如果被问到,有人可能会说使用RAII管理资源。 但你真的考虑过如果构造函数失败了,到底会发生什么吗,…

    C++ 2023年5月29日
    053
  • 【面试攻略】C++面试-沐瞳游戏

    2020-11-24-沐瞳游戏自我介绍 1.你们IO用的什么(HPsocket),他是怎么实现的,(HPsocket他Windows通信用的什么)2.tcp的三次握手四次挥手3.有…

    C++ 2023年5月29日
    079
  • C++11新特性学习

    http://www.cprogramming.com/c++11/c++11-lambda-closures.html Original: https://www.cnblogs…

    C++ 2023年5月29日
    053
  • std::get<C++11多线程库~线程间共享数据>(09):共享数据带来的问题(1)

    1 #include 2 3 /* 4 * 话题1:线程间共享数据 5 * a. 共享数据带来的问题 6 * b. 使用互斥量保护数据 7 * c. 数据保护的替代方案 8 * 9…

    C++ 2023年5月29日
    062
  • 对类的理解(c++)

    介绍目录: 1.类成员 1.1 成员函数 1.2 构造函数 1.2.1 对构造函数的理解 1.2.2成员初始化列表 1.2.3必须使用成员初始化列表的几种情况 1.2.4对于拷贝构…

    C++ 2023年5月29日
    073
  • c++11新特性学习2

    noexcept 替代 throw。优点是更安全, 如果noexcept 修饰的函数抛出了异常,编辑器可以直接选择终止程序。 C++ 11中析构函数默认为noexcept(true…

    C++ 2023年5月29日
    050
  • EclipseC++学习笔记-3 直接在wsl2中启动带界面应用

    1、下载https://sourceforge.net/projects/vcxsrv/2、安装运行 注意不要多次启动最后一步可以保存为快捷方式,下次直接双击启动3. 设置WSL …

    C++ 2023年5月29日
    075
  • C++多线程库的常用类 std::mutex

    格式:类名 + 头文件 + 用例 + 解释说明 解释说明: std::mutex C++提供的互斥量,用在多线程编程中,来保护共享数据。 C++中通过实例化 std::mutex创…

    C++ 2023年5月29日
    058
  • C++ #ifndef/#define/#endif解释

    作用:防止头文件的重复包含和编译 ifndef x define x endif 比如说有一个头文件叫head.h,这是一个通用的头文件,然后我又定义了两个自己用的头文件,分别叫l…

    C++ 2023年5月29日
    047
  • A Complete Guide to Programming in C++ 笔记

    1.c++程序编译过程。包括两个阶段,compiler和linker。第一个阶段compiler是把c++文件编译成obj文件。第二个阶段是linker把多个obj文件和lib文件…

    C++ 2023年5月29日
    052
  • C++/服务器开发4天实战训练营

    第一天: 1.四种不同的方式来实现add函数 //面向过程 int add1(int a, int b) { return a + b; } //面向对象 class ADD{ p…

    C++ 2023年5月29日
    051
  • VC++注册,卸载OCX控件,以及判断是否注册

    注册OCX控件 BOOL CYourClass::RegistOcx() HINSTANCE hLib = LoadLibrary(“NTGraph.ocx&#8221…

    C++ 2023年5月29日
    088
  • 聊聊 C++ 大一统的初始化运算符 {}

    一:背景 最近发现 C++ 中的类型初始化操作,没有 {} 运算符搞不定的,蛮有意思,今天我们就来逐一列一下各自的用法以及汇编展现,本来想分为 &#x503C;&#…

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