zoukankan      html  css  js  c++  java
  • C++入职学习篇--代码规范(持续更新)

    C++入职学习篇--代码规范(持续更新)

    一、头文件规范

    在头文件中大家一般会定义宏、引入库函数、声明、定义全局变量等,在设计时最后进行分类,代码示范(自己瞎琢磨的,请多多指点):

    #ifndef TEXT_H
    #define TEXT_H
    //------------------------------------------------
    #include <string>
    #include <stdio.h>
    //------------------------------------------------
    #include "picture,h"
    #include "work.h"
    //------------------------------------------------	
    //your code
    //------------------------------------------------
    #endif /* endif TEXT_H */
    

    最好将宏定义、标准库、自定义库分开,这样更清晰、便于读者阅读

    二、类定义规范

    在定义类时public、private、protected都需要写出来,即使没有内容,代码示例:

    class TText() //命名类以T开头
    {
    public:
    	//------------------------------------------------
    	//your code
    	String GetName(void);//命名对外函数用首字母大写
    	//------------------------------------------------
    private:
    	//------------------------------------------------
    	//your code
    	String sname;//命名变量首字母为类型首字母
    	String _usr_path_name(String filename);//命名私有成员函数以_开头
    	//------------------------------------------------
    protected:
    	//------------------------------------------------
    	//your code
    	//------------------------------------------------
    };
    

    三、部分注释为了整体代码规范,需要在必要的时候添加

    如果在一个场景中引用的四个工具类A、B、C、D,其他分析均对其四个分别分析,但是有一种情况仅需对其一分析,那就需要用注释分析其他三种,为了就是代码美观与整体性好。代码示例:

    bool isopen(mode type){
    	if(type == A->mode){
    		project->mode = A->mode;
    		return true;
    	}
    
    	/*
    	if(type == B->mode){
    		project->mode = B->mode;
    		return true;
    	}*/
    
    	/*if(type == C->mode){
    		project->mode = C->mode;
    		return true;
    	}*/
    	
    	/*if(type == D->mode){
    		project->mode = D->mode;
    		return true;
    	}*/
    	
    	
    }
    

    这样整体美观,便于读者分析

    四、函数中代码规范

    int textmain(char * filename) {
    	//----------------------------	
    	int err;
    	char * buffer = new buffer[1024];
    	//----------------------------
    	FILE *pf;
    	pf = fopen(filename,"rb+");
    	//----------------------------
    	/* 注释的引用便于读者阅读,不用过多注释,但要有助于
    		理解程序段 */
    	//----------------------------
    	if(pf == NULL) {
    		cout<<"Open file fail"<<endl;
    		fcolse(pf);
    		err = -1;
    	}
    	//----------------------------	
    	fcolse(pf);
    	//----------------------------
    }
    
    //------------------------------------------------
    

    五、关于结构体struct 枚举enum的命名

    结构体(struct)

    typedef struct{
    	char cname[100];
    	int inum;
    	bool Check;
    }STRU_USER_NAME;
    

    枚举(enum)

    typedef enum{
    	EUN_ONE_ITEM = 0,EUN_TWO_ITEM,..,EUN_UNKNOW = 0xFFFF
    }EM_USER_NAME;
    

    六、定义宏

    如果程序中多处出现相同程序段,可将这样的程序段定义为宏进行调用

    eg:
    #define M_CHECK_INPUT_VALUE_INT(input_value) 
    	if(input_value[0] == '' || !input_value){ 
    		ShowMessage("Input value is empty!");
    		turn -1;		
    	}
    
    int main(){
    const char a = "text";
    M_CHECK_INPUT_VALUE_INT(input_value);
    const char b = a;
    cout<<"b:"<<b<<endl;		
    return 0
    
    }
  • 相关阅读:
    Excel中删除含有空值的整行或是整列
    Power Pivot(二)
    Power Pivot(一)
    携程数据清洗
    Matplotlib基础绘图
    Pandas 数据清洗常见方法
    天猫美妆数据清洗步骤概括
    淘宝美妆双十一数据可视化(下)
    淘宝美妆双十一数据清洗(上)
    乐高天猫旗舰店数据分析
  • 原文地址:https://www.cnblogs.com/yuanchenghao/p/9427098.html
Copyright © 2011-2022 走看看