搜档网
当前位置:搜档网 › 华为代码规范

华为代码规范

华为代码规范
华为代码规范

华为代码规范

目录

1 概述 (5)

1.1 编写目的 (5)

1.2 文档约定 (5)

1.3 预期的读者和阅读建议 (5)

1.4 参考文献 (5)

2 排版要求 (5)

2.1 程序块缩进 (5)

2.2 程序块之间空行 (5)

2.3 长语句和长表达式 (6)

2.4 循环、判断等长表达式或语句 (7)

2.5 长参数 (7)

2.6 短语句 (8)

2.7 条件、循环语句 (8)

2.8 语句对齐 (8)

2.9 函数、过程和结构等语句块 (9)

2.10 程序块分界符 (9)

2.11 操作符前后空格 (10)

2.12 其他 (11)

3 注释 (11)

3.1 有效注释量 (11)

3.2 公司标识 (11)

3.3 说明性文件 (12)

3.4 源文件头 (13)

3.5 函数头部说明 (13)

3.6 注释与代码一致 (14)

3.7 注释内容 (14)

3.8 注释缩写 (14)

3.9 注释位置 (14)

3.10 变量、常量注释 (15)

3.11 数据结构的注释 (15)

3.12 全局变量 (16)

3.13 注释缩排 (16)

3.14 注释与代码之间空行 (17)

3.15 变量定义、分支语句 (17)

3.16 其他 (19)

4 标识符命名 (20)

4.1 命名清晰 (20)

4.2 特殊命名需注释 (21)

4.3 命名风格保持一致 (21)

4.4 变量命名 (21)

4.5 命名规范与系统风格一致 (21)

4.6 其他 (22)

5 可读性 (23)

5.1 运算符优先级 (23)

5.2 避免直接使用数字作为标识符 (23)

5.3 其他 (24)

6 变量、结构 (25)

6.1 公共变量 (25)

6.2 公共变量说明 (25)

6.3 公共变量访问说明 (25)

6.4 公共变量赋值 (26)

6.5 防止局部变量与公共变量同名。 (26)

6.6 严禁使用未经初始化的变量作为右值。 (26)

6.7 其他 (26)

7 函数、过程 (34)

7.1 对所调用函数的错误返回码要仔细、全面地处理。 (34)

7.2 明确函数功能,精确(而不是近似)地实现函数设计。 (34)

7.3 局部变量 (34)

7.4 全局变量 (34)

7.5 接口函数参数 (35)

7.6 其他 (35)

8 可测性 (44)

8.1 调测开关 (44)

8.2 打印信息 (45)

8.3 单元测试 (45)

8.4 集成测试 (45)

8.5 断言使用 (45)

8.6 设置与取消有关测试手段时,不能影响软件功能功能 (48)

8.7 版本维护 (48)

8.8 其他 (48)

9 程序效率 (50)

9.1 编程时要经常注意代码的效率。 (50)

9.2 提高代码效率 (50)

9.3 全局效率高于局部效率 (51)

9.4 提高代码空间效率 (51)

9.5 循环体内工作量最小化 (52)

9.6 其他 (53)

10 质量保证 (56)

10.1 在软件设计过程中构筑软件质量。 (56)

10.2 代码质量保证优先原则 (56)

10.3 只引用属于自己的存贮空间。 (56)

10.4 防止引用已经释放的内存空间。 (56)

10.5 内存及时释放 (57)

10.6 文件句柄及时关闭 (57)

10.7 防止内存操作越界 (58)

10.8 认真处理程序所能遇到的各种出错情况 (59)

10.9 初始化变量 (59)

10.10 数据一致性检查 (59)

10.11 严禁随意更改其它模块或系统的有关设置和配置 (59)

10.12 不能随意改变与其它模块的接口 (59)

10.13 系统接口 (59)

10.14 编程时,要防止差1错误 (61)

10.15 操作符检查 (61)

10.16 分支语句写完整 (62)

10.17 使用return语句 (62)

10.18 不要滥用goto语句 (62)

10.19 其他 (62)

11 代码编辑、编译、审查 (65)

11.1 打开编译器的所有告警开关对程序进行编译 (65)

11.2 在产品软件(项目组)中,要统一编译开关选项 (65)

11.3 通过代码走读及审查方式对代码进行检查。 (65)

11.4 测试部测试产品之前,应对代码进行抽查及评审 (65)

11.5 其他 (65)

12 代码测试、维护 (67)

12.1 单元测试要求至少达到语句覆盖 (67)

12.2 单元测试开始要跟踪每一条语句,并观察数据流及变量的变化 (67)

12.3 清理、整理或优化后的代码要经过审查及测试。 (67)

12.4 代码版本升级要经过严格测试 (67)

12.5 使用工具软件对代码版本进行维护 (67)

12.6 正式版本上软件的任何修改都应有详细的文档记录 (67)

12.7 其他 (67)

13 宏 (68)

13.1 用宏定义表达式时,要使用完备的括号 (68)

13.2 将宏所定义的多条表达式放在大括号中 (68)

13.3 使用宏时,不允许参数发生变化 (69)

1概述

1.1编写目的

为规范软件开发人员的代码编写提供参考依据和统一标准。

1.2文档约定

说明本文档中所用到的专用术语定义或解释,缩略词定义。

1.3预期的读者和阅读建议

本文档适用于所有软件开发人员。

1.4参考文献

列出有关的参考文件,如:

a.属于本项目的其他已发表文件;

b.本文件中各处引用的文档资料。

列出这些文件的标题、作者,说明能够得到这些文件资料的来源。2排版要求

2.1程序块缩进

程序块要采用缩进风格编写,缩进的空格数为4个。

说明:对于由开发工具自动生成的代码可以有不一致。2.2程序块之间空行

相对独立的程序块之间、变量说明之后必须加空行。

示例:如下例子不符合规范。

if (!valid_ni(ni))

{

... // program code

}

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

应如下书写

if (!valid_ni(ni))

{

... // program code

}

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

2.3长语句和长表达式

较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

示例:

perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN

+ STAT_SIZE_PER_FRAM * sizeof( _UL );

act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied

= stat_poi[index].occupied;

act_task_table[taskno].duration_true_or_false

= SYS_get_sccp_statistic_state( stat_item );

report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)

&& (n7stat_stat_item_valid (stat_item))

&& (act_task_table[taskno].result_data != 0));

2.4循环、判断等长表达式或语句

循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

示例:

if ((taskno < max_act_task_number)

&& (n7stat_stat_item_valid (stat_item)))

{

... // program code

}

for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)

&& (j < NewKeyword.word_length); i++, j++)

{

... // program code

}

for (i = 0, j = 0;

(i < first_word_length) && (j < second_word_length);

i++, j++)

{

... // program code

}

2.5长参数

若函数或过程中的参数较长,则要进行适当的划分。

示例:

n7stat_str_compare((BYTE *) & stat_object,

(BYTE *) & (act_task_table[taskno].stat_object),

sizeof (_STAT_OBJECT));

n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER

+ index, stat_object );

2.6短语句

不允许把多个短语句写在一行中,即一行只写一条语句。

示例:如下例子不符合规范。

rect.length = 0; rect.width = 0;

应如下书写

rect.length = 0;

rect.width = 0;

2.7条件、循环语句

if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。

示例:如下例子不符合规范。

if (pUserCR == NULL) return;

应如下书写:

if (pUserCR == NULL)

{

return;

}

2.8语句对齐

对齐只使用空格键,不使用TAB键。

说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐,不要使用BC作为编辑器合版本,因为BC会自动将8个空格变为一个TAB键,因此使用BC合入的版本

大多会将缩进变乱。

2.9函数、过程和结构等语句块

函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求。

2.10程序块分界符

程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

示例:如下例子不符合规范。

for (...) {

... // program code

}

if (...)

{

... // program code

}

void example_fun( void )

{

... // program code

}

应如下书写。

for (...)

{

... // program code

}

if (...)

{

... // program code

}

void example_fun( void )

{

... // program code

}

2.11操作符前后空格

在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如->),后不应加空格。

说明:采用这种松散方式编写代码的目的是使代码更加清晰。

由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在C/C++语言中括号已经是最清晰的标志了。

在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

示例:

(1) 逗号、分号只在后面加空格。

int a, b, c;

(2)比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域

操作符"<<"、"^"等双目操作符的前后加空格。

if (current_time >= MAX_TIME_VALUE)

a =

b + c;

a *= 2;

a =

b ^ 2;

(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。

*p = 'a'; // 内容操作"*"与内容之间

flag = !isEmpty; // 非操作"!"与内容之间

p = &mem; // 地址操作"&" 与内容之间

i++; // "++","--"与内容之间

(4)"->"、"."前后不加空格。

p->id = pid; // "->"指针前后不加空格

(5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

if (a >= b && c > d)

2.12其他

2.12.1一行程序以小于80字符为宜,不要写得过长。

3注释

3.1有效注释量

一般情况下,源程序有效注释量必须在20%以上。

说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不

能太少,注释语言必须准确、易懂、简洁。

3.2公司标识

在头文件中加入公司标识。

示例如下:

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

/* */

/* Copyright (c) 1996-1998 XXXXXX Company */

/* xxxxxxxx 版权所有 1996-1998 */

/* */

/* PROPRIETARY RIGHTS of XXXXXX Company are involved in the */

/* subject matter of this material. All manufacturing, reproduction, use,*/

/* and sales rights pertaining to this subject matter are governed by the */

/* license agreement. The recipient of this software implicitly accepts */

/* the terms of the license. */

/* 本软件文档资料是xxx公司的资产,任何人士阅读和使用本资料必须获得 */

/* 相应的书面授权,承担保密责任和接受相应的法律约束. */

/* */

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

3.3说明性文件

说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。

示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。

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

Copyright (C), 1996-1998, xxxxx. Co., Ltd.

File name: // 文件名

Author: Version: Date: // 作者、版本及完成日期

Description: // 用于详细说明此程序文件完成的主要功能,与其他模块

// 或函数的接口,输出值、取值范围、含义及参数间的控

// 制、顺序、独立或依赖等关系

Others: // 其它内容的说明

Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明

1. ....

History: // 修改历史记录列表,每条修改记录应包括修改日期、修改

// 者及修改内容简述

1. Date:

Author:

Modification:

2. ...

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

3.4源文件头

源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。

示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。

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

Copyright (C), 1988-1999, Xxxxxx Tech. Co., Ltd.

FileName: test.cpp

Author: Version : Date:

Description: // 模块描述

Version: // 版本信息

Function List: // 主要函数及其功能

1. -------

History: // 历史修改记录

David 96/10/12 1.0 build this moudle

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

说明:Description一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。History是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述。

3.5函数头部说明

函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。

示例:下面这段函数的注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。

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

Function: // 函数名称

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

Calls: // 被本函数调用的函数清单

Called By: // 调用本函数的函数清单

Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)

Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)

Input: // 输入参数说明,包括每个参数的作

// 用、取值说明及参数间关系。

Output: // 对输出参数的说明。

Return: // 函数返回值的说明

Others: // 其它说明

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

3.6注释与代码一致

边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除。

3.7注释内容

注释的内容要清楚、明了,含义准确,防止注释二义性。

说明:错误的注释不但无益反而有害。

3.8注释缩写

避免在注释中使用缩写。

说明:在使用缩写时或之前,应对缩写进行必要的说明。

3.9注释位置

注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

示例:如下例子不符合规范。

例1:

/* get replicate sub system index and net indicator */

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

例2:

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

/* get replicate sub system index and net indicator */

应如下书写

/* get replicate sub system index and net indicator */

repssn_ind = ssn_data[index].repssn_index;

repssn_ni = ssn_data[index].ni;

3.10变量、常量注释

对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。

示例:

/* active statistic task number */

#define MAX_ACT_TASK_NUMBER 1000

#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */

3.11数据结构的注释

数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释放在此域的右方。

示例:可按如下形式说明枚举/数据/联合结构。

/* sccp interface with sccp user primitive message name */

enum SCCP_USER_PRIMITIVE

{

N_UNITDATA_IND, /* sccp notify sccp user unit data come */

N_NOTICE_IND, /* sccp notify user the No.7 network can not */

/* transmission this message */

N_UNITDATA_REQ, /* sccp user's unit data transmission request*/

3.12全局变量

全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

示例:

/* The ErrorCode when SCCP translate */

/* Global Title failure, as follows */ // 变量作用、含义

/* 0 - SUCCESS 1 - GT Table error */

/* 2 - GT error Others - no use */ // 变量取值范围

/* only function SCCPTranslate() in */

/* this modual can modify it, and other */

/* module can visit it through call */

/* the function GetGTTransErrorCode() */ // 使用方法

BYTE g_GTTranErrorCode;

3.13注释缩排

注释与所描述内容进行同样的缩排。

说明:可使程序排版整齐,并方便注释的阅读与理解。

示例:如下例子,排版不整齐,阅读稍感不方便。

void example_fun( void )

{

/* code one comments */

CodeBlock One

/* code two comments */

CodeBlock Two

}

应改为如下布局。

void example_fun( void )

/* code one comments */

CodeBlock One

/* code two comments */

CodeBlock Two

}

3.14注释与代码之间空行

将注释与其上面的代码用空行隔开。

示例:如下例子,显得代码过于紧凑。

/* code one comments */

program code one

/* code two comments */

program code two

应如下书写

/* code one comments */

program code one

/* code two comments */

program code two

3.15变量定义、分支语句

对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。

说明:这些语句往往是程序实现某一特定功能的关键,对于维护人员来说,良好的注释帮助更好的理解程序,有时甚至优于看设计文档。

示例(注意斜体加粗部分):

case CMD_UP:

ProcessUp();

break;

case CMD_DOWN:

ProcessDown();

break;

case CMD_FWD:

ProcessFwd();

if (...)

{

...

break;

}

else

{

ProcessCFW_B(); // now jump into case CMD_A }

case CMD_A:

ProcessA();

break;

case CMD_B:

ProcessB();

break;

case CMD_C:

ProcessC();

break;

case CMD_D:

ProcessD();

break;

...

3.16其他

3.16.1避免在一行代码或表达式的中间插入注释。

说明:除非必要,不应在代码或表达中间插入注释,否则容易使代码可理解性变差。

3.16.2通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,

使代码成为自注释的。

说明:清晰准确的函数、变量等的命名,可增加代码可读性,并减少不必要的注释。

3.16.3在代码的功能、意图层次上进行注释,提供有用、额外的信息。

说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。

示例:如下注释意义不大。

/* if receive_flag is TRUE */

if (receive_flag)

而如下的注释则给出了额外有用的信息。

/* if mtp receive a message from links */

if (receive_flag)

3.16.4在程序块的结束行右方加注释标记,以表明某程序块的结束。

说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。

示例:参见如下例子。

if (...)

// program code

while (index < MAX_INDEX)

{

// program code

} /* end of while (index < MAX_INDEX) */ // 指明该条while语句结束

} /* end of if (...)*/ // 指明是哪条if语句结束

3.16.5注释格式尽量统一,建议使用“/* ……*/”。

3.16.6注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,

建议多使用中文,除非能用非常流利准确的英文表达。

说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用

中文。

4标识符命名

4.1命名清晰

标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。

说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成

缩写;一些单词有大家公认的缩写。

示例:如下单词的缩写能够被大家基本认可。

temp 可缩写为 tmp ;

flag 可缩写为 flg ;

statistic 可缩写为 stat ;

increment 可缩写为 inc ;

message 可缩写为 msg ;

(完整word版)WEB前端开发代码使用要求规范

WEB前端代码规范 规范目的 为提高团队协作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,特制订此文档。本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经讨论决定后方可更改。 基本准则 符合web标准;语义化html;结构、表现、行为分离;兼容性优良。页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。 文件规范

3.jsp文件命名:英文驼峰式命名,文件名.jsp。按实际模块需求命名。 4.css文件命名:英文驼峰式命名,文件名.css。共用base.css,首页index.css,其他 页面按实际模块需求命名。 5.js文件命名:英文驼峰式命名,文件名.js。共用common.js,其他依实际模块需求命 名。 html书写规范 1.文档类型声明及编码:统一为html5的声明类型;编码统一为 ,书写时利用IDE实现层次分明的缩进。 2.非特殊情况下css文件必须在...之间引入,选择link方式引入而非 @import形式。 3.非特殊情况下js文件必须在页面底部引入。 4.引入样式文件或JavaScript文件时,须略去默认类型声明,写法如下:

11.语义化html,如标题根据重要性用h1-h6(同一页面只能有一个h1),段落标记用p,列表 用ul,内联元素中不可嵌套块状元素。 12.尽可能减少div的嵌套层数。 13.在页面中尽量避免使用内嵌样式表,即在标签内使用style="…"。 14.以背景形式呈现的图片,尽量写入css样式中;重要图片必须加上alt属性; 15.特殊符号使用:尽可能使用代码替代:比如<(<)、>(>)、空格( )、&(&)、 ”(")等等; 16.尽量避免使用过度复杂的HTML结构。 css书写规范 1.编码统一为utf-8。 2.为了避免一些浏览器兼容性问题以及增加样式重用性,每个页面必须引入base.css(详见 附件一),此文件不可随意修改。 3.class与id的使用:id是唯一的并是父级的,class是可以重复的并是子级的,所以id 仅使用在大的模块上,class可用在重复使用率高及子级中。 4.为JavaScript预留钩子的命名,请以js_起始,比如:js_hide,js_show。 5.class与id命名:使用英文命名,命名要语义化,简明化,但不要使用诸如first,last 之类的命名。使用驼峰式和下划线分隔相结合的命名规则,即命名应以父级加子级的命名规范,如:父级的类为simple 子级的类应该为simple_first,以此类推,但是尽量避免出现超过四级的类命名。 6.css属性书写顺序,建议遵循:自身属性-->布局定位属性-->文本属性-->其他属性。此条 可根据自身习惯书写,但尽量保证同类属性写在一起。

华为JAVA编程规范

1 Java 编程规范 1.1 排版 1.1.1 规则 规则1程序块要采用缩进风格编写,缩进的空格数为4个,不允许使用TAB缩进。(1.42+) 说明:缩进使程序更易阅读,使用空格缩进可以适应不同操作系统与不同开发工具。 规则2分界符(如大括号…{?和…}?)应各独占一行,同时与引用它们的语句左对齐。在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序 或者static、,synchronized等语句块中都要采用如上的缩进方式。(1.42+) 示例: if (a>b) { doStart(); } 规则3较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐, 语句可读。(1.42+) 示例: if (logger.isDebugEnabled()) { logger.debug("Session destroyed,call-id" + event.getSession().getCallId()); } 规则4不允许把多个短语句写在一行中,即一行只写一条语句(1.42+) 说明:阅读代码更加清晰 示例:如下例子不符合规范。 Object o = new Object(); Object b = null; 规则5if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while,switch等语句的执行语句无论多少都要加括号{},case 的执行语句中如果定义变量必须加括号{}。 (1.42+) 说明:阅读代码更加清晰,减少错误产生 示例: if (a>b) { doStart(); }

XX技术有限公司内部技术规范DKBA04000190-E华为图纸说明规范手册49p

华为技术有限公司内部技术规范 华为图纸说明规范 【最新资料,WORD文档,可编辑修改】

修订声明Revision declaration 本规范拟制与解释部门:华为技术有限公司整机工程部 本规范的相关系列规范或文件:无 相关国际规范或文件一致性:无 替代或作废的其它规范或文件:DKBA 0.400.0190 REV.D 相关规范或文件的相互关系:无 规范号主要起草 部门专家主要评审部门专 家 修订情况 DKBA0.400.0190.V. A基础平台 部:郭天次 00140571结构基础平台部: 肖春秀53994/潘建 军00118387/黄涛 00121968/郑玲 00119690/詹傲芳 62070/朱光胜 67118/郑光明 00115376/邓顺庆 61647 采购认证管理部: 张卫国00174583 供应链管理部物料品 质部: 蒙光忠38711 第一版,整合DKBA0.400.0160结构材料 表示法和DKBA0.400.0002表面处理代 码,增加了对图框各部分内容说明 DKBA0.400.0190.V. B基础平台 部:郭天次 00140571结构基础平台部: 胡邦红00216370 肖春秀53994 潘建军00118387 黄涛00121968 郑玲00119690 詹傲芳62070 朱光胜67118 郑光明00115376 邓顺庆61647 采购认证管理部: 孟庆伟00145066 供应链管理部物料品 质部: 蒙光忠38711 1、增加槽钢和角钢的标注说明; 2、增加表面处理代码:F226、G017、 G018、G161、G226、L015_3、L016、 L017、L226、X009;X226; 3、Film代号含义由“薄膜材料”改为“面 膜” 4、T001的生产质量要求英文版由 DKBA04000065改为DKBA04500067 5、所有“无色化学转化”改为“化学转 化” 6、X127和X202前处理由“锌钝化”改 为“预处理” 7、增加压铸件中1级面的标注说明 8、3.1、4.3、5.1小节增加标题。 9、删除表面处理代码:G016_3、G158_3、 G159_3、L158_3、L159_3 10、热浸涂的生产质量要求由: DKBA0.400.0177改为DKBA0.450.0065

华为Java语言编码规范标准

Java语言编码规范 Prepared by 拟制Date 日期 yyyy-mm-dd Reviewed by 评审人Date 日期 yyyy-mm-dd Approved by 批准Date 日期 yyyy-mm-dd

Revision Record 修订记录

Table of Contents 目录 1. 范围 (4) 2. 规范性引用文件 (4) 3. 术语和定义 (4) 4. 排版规范 (5) 4.1. 规则 (5) 4.2. 建议 (7) 5. 注释规范 (9) 5.1. 规则 (9) 5.2. 建议 (15) 6. 命名规范 (17) 6.1. 规则 (17) 6.2. 建议 (18) 7. 编码规范 (20) 7.1. 规则 (20) 7.2. 建议 (24) 8. JTEST规范 (26) 8.1. 规则 (26) 8.2. 建议 (27)

1.范围 本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。 本规范适用于使用Java语言编程的产品和项目。 2.规范性引用文件 下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 3.术语和定义 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 格式:对此规范格式的说明。 说明:对此规范或建议进行必要的解释。 示例:对此规范或建议从正、反两个方面给出例子。

Web前端开发规范手册参考

Web前端开发规范 参考手册 一、规范目的 1.1 概述 为提高团队协作效率,便于后台人员添加功能,及前端后期优化维护,输出高质量的文档,特制订此文档。本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经讨论决定后可以更改。 1.2 基本准则 符合web标准,语义化HTML,结构表现行为分离,兼容性优良。页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。 二、规范细则 2.1 文件命名规则 文件名称统一用小写的英文字母、数字和下划线的组合,其中不得包含汉字、空格和特殊字符。命名原则的指导思想: ●一是使得工作组的每一个成员能够方便的理解每一个文件的意义。 ●二是当在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一 起,以便查找、修改、替换、计算负载量等等操作。 1. HTML命名原则 ●引导文件统一使用index.htm、index.html、ndex.asp文件名(小写)。 ●各子页命名的原则首先应该以栏目名的英语翻译取单一单词为名称。例如: ?关于我们\ aboutus ?信息反馈\ feedback ?产品\ product ●如果栏目名称多而复杂并不好以英文单词命名,则统一使用该栏目名称拼音或拼音 的首字母表示;每一个目录中应该包含一个缺省的html 文件,文件名统一用 index.htm、index.html、index.asp。

2. 图片命名原则 ●图片的名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质。例如: 广告、标志、菜单、按钮等。 ●放置在页面顶部的广告、装饰图案等长方形的图片取名:banner。 ●标志性的图片取名:logo。 ●在页面上位置不固定并且带有链接的小图片取名:button 。 ●在页面上某一个位置连续出现,性质相同的链接栏目的图片取名:menu。 ●装饰用的照片取名:pic。 ●不带链接表示标题的图片取名:title。 例如: banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg ●鼠标感应效果图片命名规范为"图片名+_+on/off"。 例如: menu1_on.gif menu1_off.gif 3. Javascript命名原则 例如: ●广告条的javascript文件名为ad.js ●弹出窗口的javascript文件名为pop.js 4. 动态语言文件命名原则 以性质_描述,描述可以有多个单词,用“_”隔开,性质一般是该页面得概要。例如:register_form.asp register_post.asp topic_lock.asp 2.2 文件存放位置规范 HTML、CSS、js、images文件均归档至<系统开发规范>约定的目录中。 _Root cn 存放中文HTML文件 en 存放英文HTML文件 flash 存放Flash文件 images 存放图片文件 imagestudio 存放PSD源文件

华为钣金设计规范

DKBA 华为技术有限公司企业技术规范 DKBA4031-2003.06 钣金结构件可加工性设计规范 2003-06-30发布2003-07-XX实施 华为技术有限公司发布

目次 前言 (5) 1范围和简介 (6) 1.1范围 (6) 1.2简介 (6) 1.3关键词 (6) 2规范性引用文件 (6) 3冲裁 (6) 3.1冲裁件的形状和尺寸尽可能简单对称,使排样时废料最少。 . 6 3.2冲裁件的外形及内孔应避免尖角。 (6) 3.3冲裁件应避免窄长的悬臂与狭槽 (7) 3.4冲孔优先选用圆形孔,冲孔有最小尺寸要求 (7) 3.5冲裁的孔间距与孔边距 (8) 3.6折弯件及拉深件冲孔时,其孔壁与直壁之间应保持一定的距离8 3.7螺钉、螺栓的过孔和沉头座 (8) 3.8冲裁件毛刺的极限值及设计标注 (9) 3.8.1冲裁件毛刺的极限值 (9) 3.8.2设计图纸中毛刺的标注要求 (9) 4折弯 (10) 4.1折弯件的最小弯曲半径 (10) 4.2弯曲件的直边高度 (10) 4.2.1一般情况下的最小直边高度要求 (10)

4.2.2特殊要求的直边高度 (11) 4.2.3弯边侧边带有斜角的直边高度 (11) 4.3折弯件上的孔边距 (11) 4.4局部弯曲的工艺切口 (12) 4.4.1折弯件的弯曲线应避开尺寸突变的位置 (12) 4.4.2当孔位于折弯变形区内,所采取的切口形式 (12) 4.5带斜边的折弯边应避开变形区 (13) 4.6打死边的设计要求 (13) 4.7设计时添加的工艺定位孔 (13) 4.8标注弯曲件相关尺寸时,要考虑工艺性 (14) 4.9弯曲件的回弹 (14) 4.9.1折弯件的内圆角半径与板厚之比越大,回弹就越大。.. 14 4.9.2从设计上抑制回弹的方法示例 (14) 5拉伸 (15) 5.1拉伸件底部与直壁之间的圆角半径大小要求 (15) 5.2拉伸件凸缘与壁之间的圆角半径 (15) 5.3圆形拉伸件的内腔直径 (15) 5.4矩形拉伸件相邻两壁间的圆角半径 (15) 5.5圆形无凸缘拉伸件一次成形时,其高度与直径的尺寸关系要求 16 5.6拉伸件设计图纸上尺寸标注的注意事项 (16) 5.6.1拉伸件产品尺寸的标准方法 (16)

华为软件编程规范.doc

文档编号产品版本受控状态 DC-SB-2003-1005V 1.0 内部 产品名称:软件编程规范共页 软件编程规范 (仅供内部使用) 北京世纪百合科技有限公司 Beijing Centurial Lily Technology Co.,Ltd. 版权所有不得复制

文档修改记录

目录 1.引言 (4) 1.1 目的 (4) 1.2 范围 (4) 2.规范 (4) 2.1 文件 (4) 2.2版面风格 (8) 2.3 标识符命名 (12) 2.4 函数与宏 (14) 2.5 代码的可靠性 (18) 3.附录:通用类型的公共定义 (23)

1.引言 1.1目的 本规范的目的在于增加源代码的可读性,减少程序员对代码理解上的偏差,使程序员能够编写出可靠的代码,降低代码维护成本。 1.2范围 本规范内容涉及范围包括:文件、版面、注释、标识符、变量和结构、函数、宏以及可理解性等。本规范适用于公司开发的所有软件产品。在新软件的编码过程中本规范必须执行。 2.规范 2.1文件 2.1.1头文件的名称一律为小写,格式为“子系统名_文件名.h”。例如: ipf_protocol.h等。 2.1.2头文件的格式如下: ?注释头,格式参见软件编程规范; ?头文件预编译开关开始,格式为: #ifndef 预编译开关 #define 预编译开关 其中预编译开关格式为:“ _文件名_H”,其中文件名一律大写 ?头文件内容; ?头文件预编译开关结束,格式为: #endif 用来和头文件预编译开关的开始对应。 例如:以下为ipf_ip.h头文件的内容: /************************************************************ Copyright (c) Lily Of The Century Technology Co., LTD. ALL RIGHTS RESERVED Description: // 用于详细说明此程序文件完成的主要功能 *************************************************************/ #ifndef _IPF_IP_H #define _IPF_IP_H ...

Web前端开发规范手册

Web前端开发规范手册 一、规范目的 1.1 概述 (1) 二、文件规范 2.1 文件命名规则 (1) 2.2 文件存放位置 (2) 2.3 css 书写规范 (3) 2.4 html书写规范 (7) 2.5 JavaScript书写规范 (11) 2.6 图片规范 (12) 2.7 注释规范 (13) 2.8 css 浏览器兼容 (13) 一、规范目的 1.1 概述 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本文档如有不对或者不合适的地方请及时提出, 经讨论决定后可以更改此文档. 二、文件规范 2.1 文件命名规则 文件名称统一用小写的英文字母、数字和下划线的组合,其中不得包含汉字、空格和特殊字符;命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作。

a. HTML的命名原则 引文件统一使用index.htm index.html index.asp文件名(小写) 各子页命名的原则首先应该以栏目名的英语翻译取单一单词为名称。例如: 关于我们\ aboutus 信息反馈\ feedback 产品\ product 如果栏目名称多而复杂并不好以英文单词命名,则统一使用该栏目名称拼音或拼音的首字母表示; 每一个目录中应该包含一个缺省的html 文件,文件名统一用index.htm index.html index.asp; b. 图片的命名原则 图片的名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质 例如:广告、标志、菜单、按钮等等。 放置在页面顶部的广告、装饰图案等长方形的图片取名:banner 标志性的图片取名为:logo 在页面上位置不固定并且带有链接的小图片我们取名为button 在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu 装饰用的照片我们取名:pic 不带链接表示标题的图片我们取名:title 范例:banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg 鼠标感应效果图片命名规范为"图片名+_+on/off"。 例如:menu1_on.gif menu1_off.gif c. javascript的命名原则 例如:广告条的javascript文件名为ad.js 弹出窗口的javascript文件名为pop.js d. 动态语言文件命名原则 以性质_描述,描述可以有多个单词,用“_”隔开,性质一般是该页面得概要。 范例:register_form.asp register_post.asp topic_lock.asp 2.2 文件存放位置规范 _Root cn 存放中文HTML文件 en 存放英文HTML文件 flash 存放Flash文件 images 存放图片文件 imagestudio 存放PSD源文件 flashstudio 存放flash源文件 inc 存放include文件 library 存放DW库文件 media 存放多媒体文件 project 存放工程项目资料

华为员工行为规范

华为员工行为规范 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

员工行为规范一、目的 为体现华为人积极向上的精神面貌,工作期间保持良好的仪表与风度,树立良好的企业形象,特制定本行为规范。 二、适用范围 本规范适用于公司所有员工。 三、细则 u 着装规定 1、员工在上班时间,男士上身不得穿无袖上衣,下身着长裤,或着西装套装;女士着职业套装或正规服装,不得着无袖上衣、超短裙、紧身衣,所有员工均不得着奇装异服;生产部及工程部员工在工作期间必须穿工作服,市场人员、保安及其它外协人员必须着职业服装。 2、上班时间必须正确佩戴工卡,男士用夹子别于左胸前,女士用卡链挂于胸前,不得随意丢置工卡于办公桌及公共场所。 3、男士头发不宜过长,应定期修剪;女士头发不宜过短,都应保持头发的清洁、整齐。 4、女士不宜佩戴过多或夸张的首饰,应以简洁、高雅为标准,不得浓装艳抹,不得涂艳色指甲或留过长指甲。 5、不得穿拖鞋、光脚上班。 u 行为规范 1、办公场所不准吸烟,不准大声喧哗。

2、工作时间打电话不使用免提键,不打私人电话,接听私人电话不得超过3分钟。 3、打电话要长话短说,电话铃响二声后必须接听电话,拿起电话要先说;“你好,华为”,注意语气热情,彬彬有礼。 4、上班时间不做与工作无关的事情,不串岗,不聊天,不随意谈笑,不吃零食。 5、举止庄重,礼貌待人,同事之间交谈要使用文明用语。 四、处罚规定 凡违反上述情况之一,第一次罚款50元,第二次罚款100元,累计三次以上将通报批评,并罚款200元,同时将处罚意见写入员工个人考核意见中。

华为公司编程规范和范例(C++)

目录 1 排版 6 2 注释11 3 标识符命名18 4 可读性20 5 变量、结构22 6 函数、过程28 7 可测性36 8 程序效率40 9 质量保证44 10 代码编辑、编译、审查50 11 代码测试、维护52 12 宏53

1 排版 11-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 11-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 if (!valid_ni(ni)) { ... // program code } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; 11-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 示例: perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN + STAT_SIZE_PER_FRAM * sizeof( _UL ); act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied = stat_poi[index].occupied; act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item ); report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)

Web前端开发规范手册

Web前端开发规范手册 修订历史记录 日期版本说明作者 2012年12月31日 1.0初稿施昀 2012年01月05日 1.1施昀、戴静2012年01月07日 1.2施昀 目录 修订历史记录 (1) 一、规范目的 (2) 1.1概述 (2) 二、基本准则 (2) 三、文件规范 (3) 2.1文件命名规则 (3) 2.1.1HTML的命名原则 (3) 2.1.2图片的命名原则 (3) 2.1.3.javascript的命名原则 (4) 2.1.4动态语言文件命名原则 (4) 2.2文件存放位置规范 (4) 2.3CSS书写规范 (4) 2.3.1基本原则 (4)

2.3.2注意细则 (5) 2.3.3命名规则 (6) 2.4html书写规范 (9) 2.4.1head区代码规范 (9) 2.4.2body区代码规范 (10) 2.5JavaScript书写规范 (10) 2.6图片规范 (10) 2.7注释规范 (11) 2.7.1html注释 (11) 2.7.2css注释 (11) 2.7.3JavaScript注释 (11) 四、执行模式 (12) 一、规范目的 1.1概述 提高团队协作效率 便于前端开发以及后期优化维护 方便新进的成员快速上手 输出高质量的代码 本规范文档一经确认,前端开发人员必须按本文档规范进行前台页面开发。本文档如有不对或者不合适的地方请及时提出,经讨论决定后可以更新此文档。 二、基本准则 符合web标准,语义化html,结构表现行为分离,兼容性优良。 代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度。

开发时需要遵循如上基本准则,特殊情况可以有所宽限,如一些老项目的页面改造。 三、文件规范 2.1文件命名规则 [使用场景:在新建网页、图片、脚本、CSS文件时,根据此规则给文件命名并放入指定位置] 文件名称统一用小写的英文字母、数字和下划线的组合,其中不得包含汉字空格和特殊字符。命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作。 2.1.1HTML的命名原则 索引文件统一使用index.htm index.html index.asp文件名。 如果栏目名称多而复杂并不好以英文单词命名,则统一使用该栏目名称拼音或拼音的首字母表示。 每一个目录中应该包含一个缺省的html文件,文件名统一用index.htm index.html index.asp。 2.1.2图片的命名原则 图片的名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质。 例如:广告、标志、菜单、按钮等等。 放置在页面顶部的广告、装饰图案等长方形的图片取名:banner 标志性的图片取名为:logo 在页面上位置不固定并且带有链接的小图片我们取名为button 在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu 装饰用的照片我们取名:pic 不带链接表示标题的图片我们取名:title 范例:banner_sohu.gif banner_sina.gif menu_aboutus.gif menu_job.gif title_news.gif logo_police.gif logo_national.gif pic_people.jpg

华为代码规范文档

代码规范文档

目录 1 概述 (5) 1.1 编写目的 (5) 1.2 文档约定 (5) 1.3 预期的读者和阅读建议 (5) 1.4 参考文献 (5) 2 排版要求 (5) 2.1 程序块缩进 (5) 2.2 程序块之间空行 (5) 2.3 长语句和长表达式 (6) 2.4 循环、判断等长表达式或语句 (7) 2.5 长参数 (7) 2.6 短语句 (8) 2.7 条件、循环语句 (8) 2.8 语句对齐 (8) 2.9 函数、过程和结构等语句块 (9) 2.10 程序块分界符 (9) 2.11 操作符前后空格 (10) 2.12 其他 (11) 3 注释 (11) 3.1 有效注释量 (11) 3.2 公司标识 (11) 3.3 说明性文件 (12) 3.4 源文件头 (13) 3.5 函数头部说明 (13) 3.6 注释与代码一致 (14) 3.7 注释内容 (14) 3.8 注释缩写 (14) 3.9 注释位置 (14) 3.10 变量、常量注释 (15) 3.11 数据结构的注释 (15) 3.12 全局变量 (16) 3.13 注释缩排 (16) 3.14 注释与代码之间空行 (17) 3.15 变量定义、分支语句 (17) 3.16 其他 (19) 4 标识符命名 (20) 4.1 命名清晰 (20) 4.2 特殊命名需注释 (21) 4.3 命名风格保持一致 (21) 4.4 变量命名 (21) 4.5 命名规范与系统风格一致 (21) 4.6 其他 (22) 5 可读性 (23) 5.1 运算符优先级 (23)

5.2 避免直接使用数字作为标识符 (23) 5.3 其他 (24) 6 变量、结构 (25) 6.1 公共变量 (25) 6.2 公共变量说明 (25) 6.3 公共变量访问说明 (25) 6.4 公共变量赋值 (26) 6.5 防止局部变量与公共变量同名。 (26) 6.6 严禁使用未经初始化的变量作为右值。 (26) 6.7 其他 (26) 7 函数、过程 (34) 7.1 对所调用函数的错误返回码要仔细、全面地处理。 (34) 7.2 明确函数功能,精确(而不是近似)地实现函数设计。 (34) 7.3 局部变量 (34) 7.4 全局变量 (34) 7.5 接口函数参数 (35) 7.6 其他 (35) 8 可测性 (44) 8.1 调测开关 (44) 8.2 打印信息 (45) 8.3 单元测试 (45) 8.4 集成测试 (45) 8.5 断言使用 (45) 8.6 设置与取消有关测试手段时,不能影响软件功能功能 (48) 8.7 版本维护 (48) 8.8 其他 (48) 9 程序效率 (50) 9.1 编程时要经常注意代码的效率。 (50) 9.2 提高代码效率 (50) 9.3 全局效率高于局部效率 (51) 9.4 提高代码空间效率 (51) 9.5 循环体内工作量最小化 (52) 9.6 其他 (53) 10 质量保证 (56) 10.1 在软件设计过程中构筑软件质量。 (56) 10.2 代码质量保证优先原则 (56) 10.3 只引用属于自己的存贮空间。 (56) 10.4 防止引用已经释放的内存空间。 (56) 10.5 内存及时释放 (57) 10.6 文件句柄及时关闭 (57) 10.7 防止内存操作越界 (58) 10.8 认真处理程序所能遇到的各种出错情况 (59) 10.9 初始化变量 (59) 10.10 数据一致性检查 (59) 10.11 严禁随意更改其它模块或系统的有关设置和配置 (59) 10.12 不能随意改变与其它模块的接口 (59)

前端开发设计规范文档样本

前端开发设计规范 目录 前端开发设计规范 (1) 一、HTML使用规范 (1) 1.1、页面文件命名规范 (1) 1.2、页面head部分书写规范 (1) 1.3、HTML元素开发规范 (2) 1.3.1、HTML元素书写规范 (2) 1.3.2、HTML元素命名规范 (4) 二、WEB页面开发规范 (5) 2.1、错误跳转页面的处理 (5) 2.2、提示信息的处理 (5) 2.3、页面的返回 (5) 2.4、提交前数据的判断验证 (5) 2.5、删除操作 (6) 2.6、页面中java代码的使用 (6) 2.7、网站页面布局规范 (7) 2.7.1、前台页面尺寸 (7)

2.7.2、标准网页广告图标规格(参考) (7) 2.7.3、页面字体 (8) 2.7.4、字体颜色 (8) 三、javaScript开发规范 (9) 3.1、javaScript文件命名规范: (9) 3.2、javaScript开发规范 (9) 3.2.1、javaScript书写规范 (9) 3.2.2、javaScript命名规范 (10) 四、css样式规范 (12) 4.1、css样式文件命名规范 (12) 4.1.1、通用样式文件命名规范: (12) 4.1.2、业务类样式文件命名规范 (13) 4.1.3、css样式文件命名须知 (13) 4.2、css样式文件存放目录规范 (13) 4.3、css样式定义规范 (14) 4.3.1、css样式内容顶部注释规范 (14) 4.3.2、css样式内容注释规范 (14) 4.3.3、css样式定义规范 (15) 4.3.4、css样式常用id的命名 (17) 4.3.5、css样式常用class的命名 (18)

硬件EMC 设计规范1_华为内部资料

本规范只简绍EMC的主要原则与结论,为硬件工程师们在开发设计中抛砖引玉。 电磁干扰的三要素是干扰源、干扰传输途径、干扰接收器。EMC 就围绕这些问题进行研究。最基本的干扰抑制技术是屏蔽、滤波、接地。它们主要用来切断干扰的传输途径。广义的电磁兼容控制技术包括抑制干扰源的发射和提高干扰接收器的敏感度,但已延伸到其他学科领域。 本规范重点在单板的EMC 设计上,附带一些必须的EMC 知识及法则。在印制电路板设计阶段对电磁兼容考虑将减少电路在样机中发生电磁干扰。问题的种类包括公共阻抗耦合、串扰、高频载流导线产生的辐射和通过由互连布线和印制线形成的回路拾取噪声等。在高速逻辑电路里,这类问题特别脆弱,原因很多: 1、电源与地线的阻抗随频率增加而增加,公共阻抗耦合的发生比较频繁; 2、信号频率较高,通过寄生电容耦合到布线较有效,串扰发生更容易; 3、信号回路尺寸与时钟频率及其谐波的波长相比拟,辐射更加显著。 4、引起信号线路反射的阻抗不匹配问题。 一、总体概念及考虑 1、五一五规则,即时钟频率到5MHz 或脉冲上升时间小于5ns,则PCB 板须 采用多层板。 2、不同电源平面不能重叠。 3、公共阻抗耦合问题。 模型: VN1=I2ZG 为电源I2 流经地平面阻抗ZG 而在1 号电路感应的噪声电压。 由于地平面电流可能由多个源产生,感应噪声可能高过模电的灵敏度或数电 的抗扰度。 解决办法: ①模拟与数字电路应有各自的回路,最后单点接地; ②电源线与回线越宽越好; ③缩短印制线长度; ④电源分配系统去耦。 4、减小环路面积及两环路的交链面积。 5、一个重要思想是:PCB 上的EMC 主要取决于直流电源线的Z 0

华为JAVA编码规范

1.程序块采用缩进风格,空格为4个. 说明: 对于开发工具自动生成的代码可以不一致 2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左 对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进 说明: for(…) { …//your code } 3.较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符 划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读. 说明: if(filename != null && new File(logPath+filename).length() < logConfig.getFileSize()) { …//your code } 4.一行只写一条语句 说明: LogFilename wow = null; LogFilename that = null; 5.if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{} 说明: if(writeToFile) { writeFileThread.interrupt(); } 6.相对独立的程序块,变量,说明要加空行 说明: if(log.getLevel() < log.getRecord()) { return ; } //空行

LogWrite writer; 7.对齐只用空格键,不用TAB键 说明: 以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开 8.两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空 格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符) 说明: 采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格 9.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置 说明: 类定义:{ 类公有属性定义; 类保护属性定义; 类私有属性定义; 类公有方法定义; 类保护方法定义; 类私有方法定义; } 10.源程序的有效注释量必须在30%以上 11.包的注释写入一个名为package.html的html格式的说明文件放入当前路径 12.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明: 一句话描述 详细描述 产品模块
公司版本信息

华为员工行为规范定稿版

华为员工行为规范 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

员工行为规范 一、目的 为体现华为人积极向上的精神面貌,工作期间保持良好的仪表与风度,树立良好的企业形象,特制定本行为规范。 二、适用范围 本规范适用于公司所有员工。 三、细则 u 着装规定 1、员工在上班时间,男士上身不得穿无袖上衣,下身着长裤,或着西装套装;女士着职业套装或正规服装,不得着无袖上衣、超短裙、紧身衣,所有员工均不得着奇装异服;生产部及工程部员工在工作期间必须穿工作服,市场人员、保安及其它外协人员必须着职业服装。 2、上班时间必须正确佩戴工卡,男士用夹子别于左胸前,女士用卡链挂于胸前,不得随意丢置工卡于办公桌及公共场所。 3、男士头发不宜过长,应定期修剪;女士头发不宜过短,都应保持头发的清洁、整齐。 4、女士不宜佩戴过多或夸张的首饰,应以简洁、高雅为标准,不得浓装艳抹,不得涂艳色指甲或留过长指甲。

5、不得穿拖鞋、光脚上班。 u 行为规范 1、办公场所不准吸烟,不准大声喧哗。 2、工作时间打电话不使用免提键,不打私人电话,接听私人电话不得超过3分钟。 3、打电话要长话短说,电话铃响二声后必须接听电话,拿起电话要先说;“你好,华为”,注意语气热情,彬彬有礼。 4、上班时间不做与工作无关的事情,不串岗,不聊天,不随意谈笑,不吃零食。 5、举止庄重,礼貌待人,同事之间交谈要使用文明用语。 四、处罚规定 凡违反上述情况之一,第一次罚款50元,第二次罚款100元,累计三次以上将通报批评,并罚款200元,同时将处罚意见写入员工个人考核意见中。

前端代码规范

福宝童趣 61区项目前端代码规范 代码规范 六一区项目前端组 2016

文档控制 更改记录 日期作者版本更改参考 2016-8-15 1.0 审阅 姓名职位 分发 拷贝号姓名地点 1 2 3 4

目录 代码规范 前端编码规范(1)——一般规范 这是一份旨在增强团队的开发协作,提高代码质量和打造开发基石的编码风格规范,其中包含了HTML, JavaScript 和CSS/SCSS 这几个部分。我们知道,当一个团队开始指定并实行编码规范的话,错误就会变得更加显而易见。如果一段特定的代码不符合规范的话,它有可能只是代码风格错误,而也有可能会是bug。早期指定规范就使得代码审核得以更好的开展,并且可以更精确的地定位到错误。只要开发者们能够保证源代码源文件都严格遵循规范,那接下去所使用的混淆、压缩和编译工具则可投其所好不尽相同。 文件命名规范 在web 项目中,所有的文件名应该都遵循同一命名约定。以可读性而言,减号(-)是用来分隔文件名的不二之选。同时它也是常见的URL 分隔符(i.e. //https://www.sodocs.net/doc/9214772611.html,/blog/my-blog-entry or //https://www.sodocs.net/doc/9214772611.html,/images/big-black-background.jpg),所以理所当然的,减号应该也是用来分隔资源名称的好选择。 请确保文件命名总是以字母开头而不是数字。而以特殊字符开头命名的文件,一般都有特殊的含义与用处(比如compass[1] 中的下划线就是用来标记跳过直接编译的文件用的)。 资源的字母名称必须全为小写,这是因为在某些对大小写字母敏感的操作系统中,当文件通过工具压缩混淆后,或者人为修改过后,大小写不同而导致引用文件不同的错误,很难被发现。 还有一些情况下,需要对文件增加前后缀或特定的扩展名(比如.min.js, .min.css),抑或一串前缀(比如3fa89b.main.min.css)。这种情况下,建议使用点分隔符来区分这些在文件名中带有清晰意义的元数据。 不推荐 推荐 推荐

华为JAVA编程规范试题

JAVA编程规范试题 一、判断题(每题2分,共28分) 1、if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while, switch, case等语句的执行语句无论多少都要加括号{}。 2、包的注释内容要求包括:简述本包的作用、详细描述本包的内容、产品模块 名称和版本、公司版权、生成日期等。 3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事 项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。4、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所 调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。 5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其 余字母使用小写的大小写混合法。 6、com.huawei.四级部门名称.项目名称,符合包命名规范。 7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效 率比条件分支低,而且异常的跳转流程难以预测。 8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样 化。 9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异 常根据分类组织成继承关系。 10、switch 语句中的 case 关键字要和后面的常量保持一个空格;如果有特殊 的需要要在switch语句中定义case以外的标签,需要在注释中说明。 11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。 12、简单的类可以通过名字比较两个对象的类,推荐使用 getClass()或者 instanceof()。 13、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。

相关主题