zoukankan      html  css  js  c++  java
  • 个人编程规范

    一.命名约定

    g 开头表示 全局变量----gValue

    t 开头表示 局部变量----tValue

    f 开头表示 函数参数----fValue

    m 开头表示 成员变量----mValue

    s 开头表示 静态变量----sValue

    C开头表示类名 CClassName{}

    二.格式

    1.空格

    参数逗号/分号后面加一个空格

    赋值(=)或等于(== > < >= <=)等双目运算符 两边都加一个空格

    for和if加一个空格再括号

    注释后面加一个空格

     2.注释格式

    头文件注释:
    /*
    * * 函数介绍(适用于多行) * @param 参数名 参数介绍 */
    源文件注释:
    //////////////////////////////////////
    // 函数介绍(适用于单行) // // 函数步骤介绍(适用于多行) //

    3.大小写

    函数首字母先小写再大写

    4.习惯

    大括号要另起一行.虽然紧跟着函数可以缩小一行,但是在大括号对齐上面会比较好找,特别是多个嵌套大括号的时候

    void A()
    {
        ...
    }
    

    5.声明

    同一个数据类型的多个变量可以同时声明

    int a = 1, b = 2;
    

    三.头文件规范

    //Example.h
     
    #ifndef _EXAMPLE_H_
    #define _EXAMPLE_H_
     
     
     
    //类名C开头
    Class CTest{
     
        //只能公有函数便于外部调用
    public:
         CTest();        //初始化类内的所有成员变量
        ~CTest();        //对象由系统回收内存,指针需要我们释放 
             
     
        _In_ Init();                            //可能需要多次初始化 
        Destory();                         //可能需要多次释放
     
        _Out_ HRESULT OnCall(_In_ testData);     //函数名全大写,用HRESULT进行错误检验       
       
     
        inline  HRESULT Count(){
            //对于少行计算函数直接用内联,减少.cpp的代码量和阅读量
        }
     
        
        //只有私有变量便于封装
    private:  //该类使用的值
     
        /*常量全部用大写字母并用下划线分割*/
        /*静态变量加前缀s_*/
        /*全局变量加前缀g_*/
        /*类成员变量加前缀m_小写大写*/
        
        _In_    m_testData;
        _Out_   m_testData;  
     
     
    };
     
    #endif  //_EXAMPLE_H_
     
    //.hpp的头文件用来实现工具类代码,这样就能减少.cpp的代码量

    四.Cpp规范

    //Example.cpp
     
    #include "Example.h"
     
    #include <assert.h>
    #include <cassert>
     
    HRESULT CTest::Call(_In_ testData){
     
        //布尔值不要与零值等进行比较
        
        assert(testData);    //对输入值进行检验
     
        return S_OK;    
                       
    }
     
    //对于逻辑函数和业务函数要区分开,因为逻辑函数用来控制流程,业务代码需要大量计算
     
    //逻辑函数没有返回值
    void CTest::逻辑函数(){
     
    }
     
    //业务函数需要返回值验证
    HRESULT CTest::业务函数(){
     
        HRESULT hr;
        if(SUCCEEDED(hr)){
            //如果成功
        }
     
        if(FAILED(hr)){
            //如果失败
        }
        
        return S_OK;
    }
  • 相关阅读:
    pgspider sqlite mysql docker 镜像
    pgspider docker 镜像
    pgspider基于pg 的高性能数据可视化sql 集群引擎
    diesel rust orm 框架试用
    golang 条件编译
    Performance Profiling Zeebe
    bazel 学习一 简单java 项目运行
    一个好用node http keeplive agnet
    gox 简单灵活的golang 跨平台编译工具
    mailhog 作为smtp server mock工具
  • 原文地址:https://www.cnblogs.com/k5bg/p/11062869.html
Copyright © 2011-2022 走看看