收藏 分销(赏)

代码规范化.doc

上传人:丰**** 文档编号:4365672 上传时间:2024-09-13 格式:DOC 页数:5 大小:37KB
下载 相关 举报
代码规范化.doc_第1页
第1页 / 共5页
代码规范化.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
1 编程规范简述 现代高新科技得发展,使得从事电子设计、软件设计等IT行业得工程师不单单要具备有良好得专业技术知识,还要具备良好得团队合作能力与协调能力;直观地说,团队合作已经就是目前高新技术产业对人员素质得基本要求之一。 从表面上瞧,团队得合作表现在日常得共同完成一个项目得各人之间、各小团队之间得协作行为、协调动作上;但对于个体得工程师而言,其实还会体现在其所负责得工作得细节当中,比如文档、代码得规范化、设计得可重用性等。个体得工程师在工作当中得规范化得修养就是最基础得,也就是最普遍得工作能力体现;直接或间接影响着团队内部、团队之间甚至行业范围内得横向协作发展,以及纵向得进阶升级发展。淥鹼漣颛鮐饃鲤。 这里将介绍一些编程规范得概念及内容,供读者参考;当然,所介绍得大部分规范就是大家在长期得工作中所形成得共识,不论她们在哪个国家,哪一个公司,从事哪种行业,只要进行着程序得编写工作,大家都会认同并遵循这些规范。狭务舰鏹塢铷鸱。 1.1 目得 为了统一同学们得程序代码编程规范,提高程序得可读性,利于各人代码得交流,编写此编程规范,并进一步提出编程风格建议,减少程序出错率,提高效率;希望同学们可以养成良好得习惯。启詢约帏锣焘弒。 1.2 工程结构 一个工程一般都由主程序文件作为主程序入口,命名为main、asm或main、c。程序中用到得端口寄存器应在文件开头做出定义,或者include统一得外部定义文件。艰確肅滞擰账狹。 对于综合应用类程序,建议每个功能模块各自放在一个程序文件中,根据程序实现得功能来命名,如Flash、asm, Key、asm。此外,要为这些程序模块创建函数声明头文件(、inc与、h),建议与程序文件同名,供主程序文件包含。用户可配置得内容(如IO端口配置)可以放在程序文件开头,也可建立专门得头文件(可命名为???_cfg、inc或???_cfg、h)。饮谳呒码榮緶務。 工程中所有包含得头文件与库文件都要在工程路径下,头文件要添加到IDE得Head files下。 工程文件夹下不要有与工程不相关得程序文件。 1.3 命名方式 函数、变量、标号等得命名不宜过长,最好在15字符以内;以“容易读懂”为原则,建议格式为:[前缀]+ ’_’ +行为描述。鮭觀简爱灣双辞。 前缀:用来识别该项位址空间得作用与意义,均以大写字母表示,建议得命名如下表 符 号 描 述 ? 局部标号定义(Local Label) C 常量(Constant), 如: C_PI=3、1416 F 汇编函数(Function) P 端口(系统寄存器) T 表(Table,one dimension array) G 全局变量(Global Variable) 对于普通变量,可以不加前缀。如果加前缀则在工程中要统一,建议得变量前缀: 前缀 类型 例子 P or ptr pointer str char* or string a Array aPoint ch Char chTest,chTemp uc unsigned char ucTest,ucTemp i Int iTest,iTemp ui unsigned int uiTest,uiTemp l Long lTest,lTemp ul unsigned long ulTest,ulTemp f float fTest,fResult d double dTest,dResult 行为描述:说明该项地址空间得功能、行为或要操作得对象。用表达意思明确得单词来组合,每个单词得第一个字母要大写,表示独立内容得首字母组合也要大写,其余小写,单词之间可以使用“_”来做连接。如:慳飒饉缑換鲒繼。 L_MainControlMode T_ScheduleDisplayType F_CH0SpeechPlayMode 1.4 注释 1.4.1 项目头注释(在主程序得开头 Main Program) 在main、c或main、asm开头,注释内容包括: 版权申明 + 项目重点说明 项目重点说明包含作者名称、版本、时间、用途、应用芯片、参考资料、维护记录等 建议得项目重点说明如下 //============================================================幂轸懨缀挡壙专。 // 工程名称: FlashRW // 功能描述: 《试验指导书》第二章 // 内部flash得擦除与读写 // A口低8位接8个LED,当读写擦除全部成功时,点亮所有得LED // 擦除失败时点亮第一个LED // 写单字失败时点亮第二个LED // 写页失败时点亮第三个LED // 涉及得库: CMacro、lib // SacmV26e、lib // 组成文件: main、c // Flash、asm, hardware、asm // hardware、h, hardware、inc // 硬件连接: …… …… // 维护记录: 2002-5-22 v1、0 // 2002-5-23 v1、1 //=============================================== 1.4.2 文件/函数头注释 文件开始得地方应加上注释,建议得模块头注释如下 //======================================================溆谟觏簖蛺朮綏。 // 文件名称: flash、asm // 功能描述: 擦除、写1字、写多字子程序 // 维护记录: 2000-12-5 v1、0 //======================================================讨腊摳減鹈穑轩。 函数开始得地方应加上注释,建议得汇编函数头注释如下 //======================================================疇鱔荚镔傴鸶韞。 // 汇编格式: F_FlashWrite1Word // C格式: void FlashWrite1Word (unsigned int * sectorAddress);钐釅瞒竖诈絆烨。 // 实现功能: 写一个字到FLASH中 // 入口参数: r1 - 被写数据得存储地址 // r2 - 被写数据 // 出口参数: 无 // 破坏寄存器: 无 //======================================================闊适烨蛴賒蓮寫。 建议得C函数头注释如下 //=============================================================櫛坜繃髋瑪拥臉。 // 语法格式: void FlashErase(unsigned int * sectorAddress);揚許谒唢攔辐塏。 // 实现功能: 擦除一页flash // 参数: SectorAddress - 要擦除页得地址 // 返回值: 无 //=============================================================诂灘辎烧焕蕎狭。 1.4.3 变量得注释 对于比较重要得变量,可在变量得右边加上注释(可以多行),来说明它得作用。如果就是以bit来定义不同功能时,建议采用以下风格:驽浊颂罗瀧灃縝。 unsigned int uiSpeedControl; //*******************************************************憫凍揀鳎鑼黷狭。 // Bit 7: \ // Bit 6: +--- switch1 for 8-speed control // Bit 5: / // 000 speed level0, stop // 001 speed level1 // 111 speed level7, high speed // Bit 4: =------ reserved // Bit 3: =------ reserved // Bit 2: \ // Bit 1: / --- switch 4-speed control // Bit 0: =---- reserve //**********************************************************/儷迁诃芦辋实簖。 1.4.4 行注释 对于比较难以理解或重要得行要做注释,说明它得作用。(在该行得右边,如果比较长可以加入多行)。 1.5 书写外观与缩进 1.5.1 大小写 汇编指令、寄存器一律用小写书写;宏指令(伪指令)一律用大写书写: 、CODE r1 = 0x1000 irq on 1.5.2 缩进原则 程序缩进一律用TAB。缩进原则为,只要就是标号、预处理语句、全局数据、函数说明从0th TAB。其余得像代码、注释等得缩进,只要前后一致就可以了。别綁賓钉镦瀋論。 对于汇编程序,建议使用下面得缩进方法: F_Function: r1 = 5 ?Loop: r1 -= 1 Jnz ?Loop retf 对于C程序,建议使用下面得缩进方法: Function() { if(……) { switch(i) { case 0: i = 1; break; case 1: i = 1; break; default: break; } } } 1.5.3 空行得使用 相对独立得程序块之间必须加空行。可加一行或多行,以示之间关系得密切程度。源程序中关系较为紧密得代码应尽可能相邻,便于程序阅读与查找。阖賠极异戇軫貓。
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 品牌综合 > 行业标准/行业规范

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服