人人范文网 范文大全

硬件编程规则

发布时间:2020-03-03 05:44:06 来源:范文大全 收藏本文 下载本文 手机版

1、布局:

头文件布局

#ifndef 文件名_H(全大写) #define 文件名_H 其它条件编译选项

#include(依次为标准库头文件、非标准库头文件)

常量定义

全局宏

全局数据类型

类定义

模板(template)(包括C++中的类模板和函数模板) 全局函数原型 #endif

C文件文件头(参见第三章“注释”)

#include(依次为标准库头文件、非标准库头文件)

常量定义

文件内部使用的宏

文件内部使用的数据类型

全局变量

本地变量(即静态全局变量)

局部函数原型

类的实现

全局函数

局部函数

if、else、else if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 { }。

所有运算符两端应该各有至少一个空格

程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。{ }之内的代码块使用缩进规则对齐。 正例:

void Function(int iVar) {

// 独占一行并与引用语句左对齐。

while (condition) { DoSomething();

// 与{ }缩进4格 } }

Switch规则: Switch(iCode) { case 1: break;

case 2:

break;

default:

break; } 或者

Switch(iCode) { case 1: break;

case 2:

break;

default:

break; }

不同逻辑程序块之间要使用空行分隔。 正例:

void Foo::Hey(void) { [Hey实现代码] } // 空一行 void Foo::Ack(void) { [Ack实现代码] }

括号内空格添加规则 正例:

例子中的 凵 代表空格。

for凵(i凵=凵0;凵i凵

for(i凵=凵0;凵i凵

长表达式(超过80列)要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐。 说明:条件表达式的续行在第一个条件处对齐。

for循环语句的续行在初始化条件语句处对齐。 函数调用和函数声明的续行在第一个参数处对齐。 赋值语句的续行应在赋值号处对齐。 正例:

if ((iFormat == CH_A_Format_M)

&& (iOfficeType == CH_BSC_M)) // 条件表达式的续行在第一个条件处对齐 {

DoSomething(); }

for (long_initialization_statement; long_condiction_statement;

// for循环语句续行在初始化条件语句处对齐 long_update_statement) {

DoSomething(); }

// 函数声明的续行在第一个参数处对齐 BYTE ReportStatusCheckPara(HWND hWnd,

BYTE ucCallNo,

BYTE ucStatusReportNo);

// 赋值语句的续行应在赋值号处对齐

fTotalBill = fTotalBill + faCustomerPurchases[iID] + fSalesTax(faCustomerPurchases[iID]);

2、注释规则:

文件头部注释格式:(中英文不做硬性要求,假如多人次对已有注释存在异议,则建议修改)

文件头部的中文注释:

/********************************************************************* * 内容摘要: // 简要描述本文件的内容,包括主要模块、函数及其功能的说明 * 其它说明: // 其它内容的说明 * 当前版本: // 输入当前版本

* 作

者: // 输入作者名字及单位

* 完成日期: // 输入完成日期,例:2000年2月25日 *

* 修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容 *

修改日期: *

版 本 号: *

修 改 人: *

修改内容:

* 修改记录2:…

**********************************************************************/

下面是文件头部的英文注释:

/*********************************************************************** * Description:

// 简要描述本文件的内容,完成的主要功能 * Others:

// 其它内容的说明 * Version:

// 输入当前版本 * Author:

// 输入作者名字及单位 * Date:

// 输入完成日期,例:2001-12-12 *

* History 1:

// 修改历史记录,包括修改日期、修改者及修改内容 *

Date: *

Version: *

Author:

*

Modification:

* History 2: …

**********************************************************************/

函数头部注释规则:(中英文不做硬性要求,假如多人次对已有注释存在异议,则建议修改)

下面是函数头部的中文注释:

/********************************************************************** * 功能描述: // 函数功能、性能等的描述

* 访问的表: //(可选)被访问的表,此项仅对于有数据库操作的程序 * 修改的表: //(可选)被修改的表,此项仅对于有数据库操作的程序

* 输入参数: // 输入参数说明,包括每个参数的作用、取值说明及参数间关系 *

//多行第二行 * 输出参数: // 对输出参数的说明。 * 返 回 值: // 函数返回值的说明

* 其它说明: // 其它说明

*修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容 *

修改日期: *

版 本 号: *

修 改 人: *

修改内容:

***********************************************************************/

下面是函数头部的英文注释:

/********************************************************************** * Description:

* Table Acceed: * Table Updated: * Input:

// 函数功能、性能等的描述

//(可选)被访问的表,此项仅对于有数据库操作的程序 //(可选)被修改的表,此项仅对于有数据库操作的程序

// 输入参数说明,包括每个参数的作用、取值说明以及参数间关系

// 对输出参数的说明 // 函数返回值的说明

// 其它说明

// 修改历史记录,包括修改日期、修改者及修改内容 * Output: * Return: * Others:

* History 1:

*

Date: *

Version: *

Author:

*

Modification:

* History 2: …

**********************************************************************/

注释尽量多加(源程序有效注释量以20%为参考)在逻辑处理以及变量说明上;注释所加位置为代码上侧(代码过长时加在上方,且需要与代码对齐)或者右侧;

3、文件命名规则

以能将代码实现功能做一概括性描述为准则,大小写不限,最好全部小写

4、变量以及函数规则:

函数:

A、功能内部封装的尽量加static;

B、命名:功能描述+动词+名词(FuncDoSomething);

变量:

A、功能内部封装的尽量加static; B、非指针命名:类型+描述(s8Temp) C、指针命名:p+类型+描述(float *pfTemp uint8 *pu8Temp) D、部分只是用于循环的变量可不受此限制,比如(for i= 0;……

结构体:(以小写t开头,后缀Def) typedef struct tForExampleDef {

}tForExampleDef; tForExampleDef tTestDevice, *ptTestDevice;

联合:(以小写u开头,后缀Def) typedef union uForExampleDef {

}uForExampleDef, *puForExampleDef; uForExampleDef uTestDevice;

5、强制规则:

A、涉及常量的逻辑判断,常量放前面;

B、指针定义时置空,释放时置空,使用时判断是否为空;

硬件工程师

硬件工程师

硬件管理制度

硬件市场调查

硬件知识讲座

五大硬件

微机编程

学习编程

shell编程

编程心得

硬件编程规则
《硬件编程规则.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 针对硬件编程 规则
点击下载本文文档