收藏 分销(赏)

我的编程规范V1.0.doc

上传人:pc****0 文档编号:6176338 上传时间:2024-11-29 格式:DOC 页数:8 大小:43.50KB 下载积分:10 金币
下载 相关
我的编程规范V1.0.doc_第1页
第1页 / 共8页
我的编程规范V1.0.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
宁波幻彩电子工作室 何肖磊 我的编程规范V1.0                            我的编程规范V1.0 一、命名规范: (0)、类型定义: ------------------------------------- 定义如下规则 -------------------------------------      typedef bit        bool;      typedef unsigned  char   int8u;      typedef signed   char   int8s;      typedef unsigned  int   int16u;      typedef signed   int   int16s;      typedef unsigned  long   int32u;      typedef signed   long  int32s;   (1)、函数命名格式:对象名_操作名。( 主语 _动词+宾语 ) 说明:  (a)主语和宾语如果不是必须的,可以省去。     (b)作为部件、模块或设备时必须加对象名! ------------------------------------- 拼写规则:大写开头 ------------------------------------- 一般情况:各单词一律由大写字母开头,对象名和操作名之间一律用下划线分割,动词、宾语之间不用下划线分割。      正确例子:      void Disp(void); //可以省去主语和宾语            void Delay5ms(void);            void WaitSignal(void); //可以省去主语            void CPU_Init(void);            void Sys_Init(void); //操作名缩写时用大写开头            void T0_Enable ( … ); //“T0”作为部件,必须加上“T0”这个对象名!            void DS1302_SetTime( … ); //“ds1302”作为设备,必须加对象名!            void InforWindow0_DrawGraph( … );            void InforWindow0_DrawBox( … );            错误例子:      void disp(); //上例为Java风格,本例为C++风格            void waitSignal (); //上例为Java风格,本例为C++风格            void ds1302_SetTime( … ); //上例为Java风格,本例为C++风格            void initMcu(); //应为:主语+动词,即MCU_Init();            void putcLcd162( … ); //应为:主语+动词,即LCD162_PutC( … );            void DrawInforWindow0Graph(); //应为:主语+动词+宾语          -------------------------------------    中断函数名格式:中断名_ISR(void)    -------------------------------------  一般情况:中断名第一个字母采用大写,这样看起来比较爽,虽然增加了大小写切换时间。      正确例子:      void T0_ISR(void);            void Timer0_ISR(void);            void UART_ISR(void);            void CAN_ISR(void);                   错误例子:            void timer0_isr();            void uart_isr();       (2)、变量命名格式:"形容词+名词",形容词可省略; ------------------------------------- 拼写规则:小写开头。 ------------------------------------- 一般情况:第一个单词一律用小写字母,其余单词由大写字母开头,且写法为"形容词+名词",单词间不用下划线分割。     正确例子:     int graphWidth; //Java风格               int newValue; //Java风格               错误例子:     int GraphWidth; //C++风格          int NewValue; //C++风格          int graph_width;          int new_value; ------------------------------------- 特殊情况:如果变量为指针变量:加前缀“ p”,表示“point”;如果名称的特殊写法更鲜为人知,则采用特殊写法;      如果变量为全局变量,根据实际情况,选择性的加前缀“ g”,表示“global”;      如果变量是静态变量,根据实际情况,选择性的加前缀“ s”,表示“static”。          正确例子:     int8u *pRdDat;          int8u i;     //int8u j,k,m,n,x,y,z,temp,tmp;          int8u gOldPage; //保存页面寄存器;          int8u gLcdStatus;          int8u gCounter; //可能系统中有多个“counter”,建议加“g”          int8u  *pStr; //指向字符串的指针          int8u  sTickSum;   (3)、常量及宏定义命名格式:大写字母,单词或单词缩写间用下划线分割; ------------------------------------- 拼写规则:全部大写 ------------------------------------- 一般情况:全用大写的字母,用下划线分割单词,且写法为”形容词+名词“。     例如:     #define STACK_SIZE  100          #define SYS_CLK   (20000000UL)          #define MSG_TYPE int8u ------------------------------------- 特殊情况:如果宏功能带参数用起来跟函数功能一样,可以按照函数名拼写规则进行定义;     正确例子:     #define ChangeIntToHex(dec) ( ( ((dec)/10) <<4 ) + ((dec)%10) )          错误例子:     #define changeIntToHex(dec) ( ( ((dec)/10) <<4 ) + ((dec)%10) )          #define Change_IntToHex(dec) ( ( ((dec)/10) <<4 ) + ((dec)%10) )   ------------------------------------- 注:单词拼写规则 ------------------------------------- 一般情况:如果单词比较长,取单词的前面 n个字母或去掉单词的元音及个别字母形成缩写,但是如果有常用或特殊写法缩写,则采用。如果单词少于6个字母或为不常见单词,应尽量全部写出!      正确例子:      position 可缩写为 pos或posi;            destination 可缩写为 dest;            increment 应缩写为 inc;            message 应缩写为 msg;            control应缩写为 ctr或ctrl;            Transmit Control Protocol应缩写为 TCP            wait、delay、signal、device等没必要缩写 用到以下单词统一采用下面缩写格式:避免和其它单词配合代码行过长。      display缩写为 disp;            delete缩写为 del;            position 可缩写为 pos;            increment 缩写为 inc;            message 缩写为 msg;            control缩写为 ctrl;            initalize 缩写为 init;            value缩写为val;       同名单词拼写规则: 一般情况:一单词采用通常写法,另一末尾加下划线以避免重名。      例如:      char getSta_[4]={0xfe,0xfd,0xfb,0xf7};            char getSta;            if(getSta==getSta_[j])               二、注释规范 (0)头文件.H 注释格式 头文件一律采用如下格式: /******************************************************************************/ /** /** 模 块 名: -----------------------头文件.H-------------------------------- /** 功能描述: 模块功能说明 /** /** 创 建 人: huangtiexiong   日期:2006-11-28   */ /** 修 改 人:                 日期:2006-11-28   */ /** 其他说明: 其它需要说明的部分 /** /******************************************************************************/ #ifndef __****_H__  //防止头文件被重复编译 #define __****_H__ /*************************************************     预定义声明                  *************************************************/ …………预定义声明在这 /*************************************************     子函数声明、外部引用变量声明                    *************************************************/ …………子函数声明在这 #endif /******************************************************************************* ****                              End Of File *******************************************************************************/ (1)源文件.C 注释格式       源文件一律采用如下格式: /******************************************************************************/ /** /** 模 块 名: -------------------源文件.C------------------------------------ /**            -----------------文件模版定义;------------------------------*/ /** 功能描述: /** /** 创 建 人: huangtiexiong    日期:2006-11-28   */ /** 修 改 人:                  日期:2006-11-28   */ /** 其他说明: /******************************************************************************/ #include "MCU_Config.h"   //文件包含 /*************************************************     模块级变量申明                 *************************************************/ …………模块级变量申明在这 /*************************************************     子函数定义                  *************************************************/ /******************************************************************************* *** 函 数 名: void main(void) *** 功能描述: *** 全局变量: *** 输  入: *** 输  出: *** 创 建 人:huangtiexiong     日期:2006-11-28 *** 修 改 人:           日期:2006-11-28 *** 函数说明: /******************************************************************************/ void main(void) {  …………函数体部分  } /******************************************************************************* ****                              End Of File *******************************************************************************/ (2)块 注释格式 采用/*  ......  */格式,置于功能语句模块前。 正确格式: /*************************************************     块注释说明部分                    *************************************************/ (3)语句 注释格式 采用 //.......格式,置于说明语句之后,不单独占行。 正确格式: g_OldPage = SFRPAGE;   //保存页面寄存器 点击此处查看原文 >> 系统分类: 软件开发   |    用户分类: 无分类    |    来源: 整理
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服