可移植的ucos-ii c源程序代码规范

上传人:wt****50 文档编号:44584305 上传时间:2018-06-14 格式:PDF 页数:16 大小:310.28KB
返回 下载 相关 举报
可移植的ucos-ii c源程序代码规范_第1页
第1页 / 共16页
可移植的ucos-ii c源程序代码规范_第2页
第2页 / 共16页
可移植的ucos-ii c源程序代码规范_第3页
第3页 / 共16页
可移植的ucos-ii c源程序代码规范_第4页
第4页 / 共16页
可移植的ucos-ii c源程序代码规范_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《可移植的ucos-ii c源程序代码规范》由会员分享,可在线阅读,更多相关《可移植的ucos-ii c源程序代码规范(16页珍藏版)》请在金锄头文库上搜索。

1、可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范1Micrim, Inc. 可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范 原作:原作:原作:原作:Jean J. Labrosse Jean.LabrosseM - 翻译: helloworld 日期: 2002-10-03 .hk 可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范21.0 简介简介简介简介 代码编写规则应该在建立在一个工程项目之前。该规则应该贯穿整个项目

2、的始终以保 证代码的一致性。采用标准的代码编写惯例,可大大简化项目的维护负担。 在C语言中可以有多种代码的编写方法(当然其它编程序语言亦如此),你可以尽可能 采用一种好的风格,以达到以下目的: 可移植 (Portability) 连贯 (Consistency) 整洁 (Neatness) 易于维护 (Easy maintenance) 易于理解 (E understanding) 简洁 (Simplicity) 不管你采用那种风格,我所强调的就是:这种风格一定要贯穿你项目的始终。在以后 的内容中我还要提到:即使在一个团队合作的大型项目中,这种风格也要贯穿始终。采用 通用的代码编写风格可以减轻

3、代码维护的工作量并降低维护费用;这种通用的代码风格还 可以避免重写代码。本文将介绍我几年来一直采用的这种编码风格。 可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范32.00基本原则基本原则基本原则基本原则 制定标准的基本目的就是加强代码的可维护性。也就是说代码必须易于阅读,易于理 解,易于测试,易于移植。 所有的代码必须采用所有的代码必须采用所有的代码必须采用所有的代码必须采用ANSI C标准标准标准标准 函数原型必须采用ANSI标准,因此,类型定义应包含在括号之内。 保持代码的简单清晰保持代码的简单清晰保持代码的简单清晰保持代码的简

4、单清晰 不要在语言中使用晦涩难懂的表述,直接表明你的思想。 保持一致性保持一致性保持一致性保持一致性 尽可能使用同样的规则。 保持标准的保持标准的保持标准的保持标准的灵魂灵魂灵魂灵魂(Keep the spirit of the standards.) Where you have a coding decision to make and there is no direct standard, then you should always keep within the spirit of the standards. 避免使用复杂语句避免使用复杂语句避免使用复杂语句避免使用复杂语句 一个

5、语句若有太多的决策点 (Decision points) 将会使代码难于理解, 尤其是对于测试。 不要使不要使不要使不要使用用用用GOTO语句语句语句语句 更新原有代码更新原有代码更新原有代码更新原有代码 一旦修改已存在的代码,就要随时更新相关文档以遵守本文中所制定的规则,这将确 保原有代码即时更新。 可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范43.00 源代码文件源代码文件源代码文件源代码文件 代码行的长度代码行的长度代码行的长度代码行的长度 我不喜欢超过80个字符宽度的C程序代码行,只是因为我们过去的显示器只允许显示 80个字

6、符的宽度。 一代码行的长度应考虑在一张8.5“ X 11“的打印纸上以每英寸17个字符 的压缩打印模式打印的字符数量。在压缩模式下,你可以调整到132个字符并在页面左侧预 留足够空间的装订线位置。允许每行132个字符是避免有注释的源代码折行,如果确实需要 超过132个以上的字符才能使你的代码更清晰,那也未尝不可。我曾经写过超过300个字符 宽度的初始化结构的代码(存于ROM中)。当然,你可能看不到完整表格的内容,但至少 会整齐的多。 TAB键的应用键的应用键的应用键的应用 一定不要用TAB键(ASCII 0x09)。若使代码缩排一定要用空可键SPACE(ASCII 0x20)。 TAB键会在不

7、同的电脑或打印机上显示会有所不同,避免这种现象出现,就是使用空 个键代替TAB键。 缩行步长:缩行步长:缩行步长:缩行步长:4个空格个空格个空格个空格 代码缩行步长以4个空格(ASCII 字符0x20)组成。注意“case”语句实际上应缩行5 个空格。 包含一个文件头包含一个文件头包含一个文件头包含一个文件头 在每一个源代码文件的开始部分都应包含一个注释块,其内容应包括公司名称,地址, 版权,程序员,文件的描述信息等,参见以下示例: /* * *Micrium, Inc. *949 Crestview Circle *Weston, FL 33327 * *(c) Copyright 2000

8、, Micrium, Inc., Weston, FL * * All rights reserved. Micriums source code is an unpublished work and the * use of a copyright notice does not imply otherwise. This source code contains * confidential, trade secret material of Micrium, Inc. Any attempt or participation * in deciphering, decoding, rev

9、erse engineering or in any way altering the source * code is strictly prohibited, unless the prior written consent of Micrium, Inc. * is obtained. * * Filename : * Programmer(s): Joe Programmer (JP) * John Doe (JD) * Created : YYYY/MM/DD * Description : * */ 一个完整的程序文件是一个包含可执行语句文件,而头文件则不是。这两种文件看起 来很相

10、像,如下所示。一个程序文件将包含部分或全部以下内容。 执行文件的布局执行文件的布局执行文件的布局执行文件的布局: File heading (文件头) Revision history (版本更新纪录) 可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范5#include (包含文件) #define constants (常量定义) Macros (宏定义) Local data types (局部数据类型定义) Local variables (局部变量) Local tables (局部表单) Local function prot

11、otypes(局部函数原型) Global functions (全局函数) Local functions (局部函数) 头文件布局头文件布局头文件布局头文件布局: File heading (文件头) Revision history (版本更新纪录) #define constants (常量定义) Global macros (全局宏定义) Global data types (全局数据类型定义) Global variables (全局变量) Externals (外部定义) Global function prototypes(全局函数原型) 分隔各主要段落分隔各主要段落分隔各主要

12、段落分隔各主要段落 每段应以一个以下示例的注释块开始: /* * *DATA TYPES * */typedef unsigned char BOOLEAN; /* * *PROTOTYPES * */ BOOLEAN OSIsTaskRdy(void);头文件必须保证避免在包含文件中重复定义一个数值。头文件必须保证避免在包含文件中重复定义一个数值。头文件必须保证避免在包含文件中重复定义一个数值。头文件必须保证避免在包含文件中重复定义一个数值。 推荐使用#ifndef X.代替!defined(X) #if!defined(module_H) #definemodule_H Body of t

13、he header file. #endif/* End of module_H*/可移植的可移植的可移植的可移植的cOS-II C 源程序代码规范源程序代码规范源程序代码规范源程序代码规范64.00 注释注释注释注释 Make every comment count. 保持代码与注释分隔清晰可见。保持代码与注释分隔清晰可见。保持代码与注释分隔清晰可见。保持代码与注释分隔清晰可见。 尽量少在语句间嵌入注释,永远不要永远不要永远不要永远不要将注释加在如下所示的代码之上。这会使代码难 于理解,因为喧宾夺主的注释会转移对代码的阅读。 void ClkUpdateTime (void) /* DO N

14、OT comment like this!*/ /* Update the seconds */ if (ClkSec = CLK_MAX_SEC) ClkSec = 0; /* Update the minutes */ if (ClkMin = CLK_MAX_MIN) ClkMin = 0; /* Update the hours */ if (ClkHour = CLK_MAX_HOURS) ClkHour = 0; else ClkHour+; else ClkMin+; else ClkSec+; 不要将单句注释分隔成多行。不要将单句注释分隔成多行。不要将单句注释分隔成多行。不要将单句注释分隔成多行。 从来也不要这样做: /* This type of comment can lead to confusion especially when describing a function like ClkUpdateTime (). T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号