69,335
社区成员
发帖
与我相关
我的任务
分享
/*===================== 源文件注释 ===================== */
/*
华为规范:源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、
主要函数及其功能、修改日志等。
*/
/************************************************************************************************************
** Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.
** 文件名: test.cpp
** 作者:
** 版本: // 版本信息
** 日期:
** 模块描述: // 模块描述
// 描述本文件的内容、功能、内部各部分
// 之间的关系及本文件与其它文件关系等
** 函数列表: // 主要函数及其功能
1. -------
2. -------
** 修改历史: // 历史修改记录
// 每条修改记录应包括修改日期、修改
// 者及修改内容简述。
1. 作者:
时间:
版本:
描述:
2. -------
***********************************************************************************************************/
/*===================== 函数注释 ===================== */
/*
华为规范:函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用
关系(函数、表)等。
*/
/*******************************************************************************************
** 函数名称: // 函数名称
** 作 者: // 作者
** 版 本: // 版本
** 日 期: // 完成日期
** 功能描述: // 函数功能、性能等的描述
** 被本函数调用的函数清单: // 被本函数调用的函数清单
** 调用本函数的函数清单: // 调用本函数的函数清单
** 被访问的表: // 被访问的表(此项仅对于牵扯到数据库操作的程序)
** 被修改的表 : // 被修改的表(此项仅对于牵扯到数据库操作的程序)
** 输 入: // 输入参数说明,包括每个参数的作用、取值说明及参数间关系。
** 输 出: // 对输出参数的说明
** 返 回 值: // 函数返回值的说明
** 其 他: // 其它说明
** 修 改 历 史: // 修改历史记录列表,每条修改记录应包括修改日期、
// 修改者及修改内容简述
1. 修改时间:
修 改 者:
版 本:
修改简述:
2. ......
*********************************************************************************************/
/*===================== 头文件注释 ===================== */
/*
华为规范:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应
进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、
与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。
*/
/*******************************************************************************************************************************************
** Copyright (c) 1998-1999 *********公司技术开发部 // 如 Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.
** 文件名: // 文件名
** 作者: // 作者
** 版本: // 版本
** 日期: // 完成日期
** 描述: // 用于详细说明此程序文件完成的主要功能,与其他模块
// 或函数的接口,输出值、取值范围、含义及参数间的控
// 制、顺序、独立或依赖等关系
** 其它: // 其它内容的说明
** 函数列表: // 主要函数列表,每条记录应包括函数名及功能简要说明
1......
2......
** 修改历史: // 修改历史记录列表,每条修改记录应包括修改日期、
// 修改者及修改内容简述
1. 修改时间:
修 改 者:
版 本:
修改简述:
2. ......
*******************************************************************************************************************************************/
/*============Naming Rules====================*/
1. General Naming Rules
(1) How to Name
int num_errors; // Good.
int num_completed_connections; // Good.
int n; // Bad - meaningless.
int nerr; // Bad - ambiguous abbreviation.
int n_comp_conns; // Bad - ambiguous abbreviation.
(2) Abbreviations
int error_count; // Good.
int error_cnt; // Bad.
// Good
// These show proper names with no abbreviations.
int num_dns_connections; // Most people know what "DNS" stands for.
int price_count_reader; // OK, price count. Makes sense.
// Bad!
// Abbreviations can be confusing or ambiguous outside a small group.
int wgc_connections; // Only your group knows what this stands for.
int pc_reader; // Lots of things can be abbreviated "pc".
2. File Names
my_useful_class.cc
my-useful-class.cc
myusefulclass.cc
myusefulclass_test.cc // _unittest and _regtest are deprecated.
3. Type Names
// classes and structs
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...
// typedefs
typedef hash_map<UrlTableProperties *, string> PropertiesMap;
// enums
enum UrlTableErrors { ...
4. Variable Names
(1) Common Variable names
string table_name; // OK - uses underscore.
string tablename; // OK - all lowercase.
string tableName; // Bad - mixed case.
(2) Class Data Members
string table_name_; // OK - underscore at end.
string tablename_; // OK.
(3) Global Variables
with g_ or some other marker to easily distinguish it from local variables
5. Constant Names
const int kDaysInAWeek = 7; // Use a k followed by mixed case: kDaysInAWeek.
6. Function Names
AddTableEntry()
DeleteUrl()
OpenFileOrDie()
7. Macro Names
#define ROUND(x) ...
#define PI_ROUNDED 3.0