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
    
    }
  • 相关阅读:
    Allegro PCB Design GXL (legacy) 使用slide无法将走线推挤到焊盘的原因
    OrCAD Capture CIS 16.6 导出BOM
    Altium Designer (17.0) 打印输出指定的层
    Allegro PCB Design GXL (legacy) 将指定的层导出为DXF
    Allegro PCB Design GXL (legacy) 设置十字大光标
    Allegro PCB Design GXL (legacy) 手动更改元器件引脚的网络
    magento产品导入时需要注意的事项
    magento url rewrite
    验证台湾同胞身份证信息
    IE8对css文件的限制
  • 原文地址:https://www.cnblogs.com/yuanchenghao/p/9427098.html
Copyright © 2011-2022 走看看