• C++/Qt个人编码规范


    1、类私有函数命名:下划线+函数名

    void _init();

    2、类私有成员名称:"m_"+驼峰变量名

    int m_value;

     3、基本的容器类型全部使用C++stl中的,string用Qt的QString

    顺序容器:
    vector
    string (它不是类模板)
    list
    forward_list
    deque
    queue
    priority_queue
    stack
    
    有序关联容器:
    map
    multimap
    set
    multiset
    
    无序关联容器:
    unordered_map
    unordered_multimap
    unordered_set
    unordered_multiset

     4、for、if、switch等非函数的大括号仿照java格式

    for {
    
    }
    if {
    
    }
    ...

    5、函数注释

    /*****************************************************************/
    //作者:NULL
    //函数名称:NULL
    //函数参数:NULL
    //函数返回值:NULL
    //函数作用:NULL
    //备注:NULL
    /*****************************************************************/

    如果不是特别需要就不用加,在头文件里加相关注释就行,cpp里加一些特别的 

    6、加号、减号、等号、全等号左右各加一个空格

    if(a == b){
    
    }
    a = b;
    a + b;
    a - b;

    7、for循环内部分号左边没有空格,右边加一个空格;内部的等于、大于、小于、加减左右不加空格

    for(int i=0; i<10; i++){
    
    }

     8、移位符号左右各加一个空格

    qDebug() << 123;

    9、全局const变量,与宏定义一致,即全大写,不同单词用下划线分隔

    const QString CFG_VERSION_INFO = "CFG_VERSION_INFO";

     10、每个类结束的时候加上private【以前华为的师傅这样教的,如果是public结尾,那整个类就是以public结尾的】

    class Config
    {
    public:
    //。。。
    private:
    //。。。
    private:
    };

     11、头文件里的函数注释

    在函数上面写出函数注释

    /*获取当前系统的系统id*/
    inline int getSystemId() const{return m_systemId;}

    12、信号、槽函数

    驼峰命名法,并且后缀是Slot

    signals:
        void askXxxSignal();
    private slots:
        void timerAskPhmSlot();

     13、xml命名

    全小写,不同单词用下划线隔开

    14、函数体注释

    功能体注释用/**/,写在代码上方;单个代码注释用//,写在代码右侧,注意tab对齐

    void function()
    {
        /*功能块1*/
        xxxx;
        xxxx;        //注释1         
    }        

     15、头文件里按类型对函数或变量注释并对齐

     16、常量性质变量不使用驼峰命名,首字母大写

    std::string                 TargetFilePath;     //目标文件夹路径
    int                         C_BUFFER_SIZE;      //缓冲区大小
    unsigned char               HEAD[HEAD_SIZE] = {0x31,0x32,0x33,0x34};



    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    <二>基于Django 简单后台管理页面
    单页面中使用vue和iview、echarts,引用组件
    vuecli更新
    vuex promise async await
    vue父子组件之间传值
    常用正则
    vue项目利用loadsh实现防抖和节流
    vue项目实现按钮的权限
    使用内存虚拟硬盘 提高ArcGIS server并发性能的一种方法
    esri联邦用户大会 总结
  • 原文地址:https://www.cnblogs.com/judes/p/13902601.html
Copyright © 2020-2023  润新知