当前位置:文档之家› 华为的编程规范和范例(内部版)

华为的编程规范和范例(内部版)

华为的编程规范和范例(内部版)
华为的编程规范和范例(内部版)

目录

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)

&& (n7stat_stat_item_valid (stat_item))

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

11-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

}

11-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 );

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

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

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

应如下书写

rect.length = 0;

rect.width = 0;

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

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

if (pUserCR == NULL) return;

应如下书写:

if (pUserCR == NULL)

{

return;

}

11-8:对齐只使用空格键,不使用TAB键。

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

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

11-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

}

11-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)

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

2 注释

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

说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。

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

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

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

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

File name: // 文件名

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

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

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

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

Others: // 其它内容的说明

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

1. ....

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

// 者及修改内容简述

1. Date:

Author:

Modification:

2. ...

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

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

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

/************************************************************ Copyright (C), 1988-1999, Huawei 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是修改历史记录列表,每条修改记录应包括修改日期、修改者及修改内容简述。

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

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

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

Function: // 函数名称

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

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

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

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

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

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

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

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

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

Others: // 其它说明

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

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

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

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

规则2-7:避免在注释中使用缩写,特别是非常用缩写。

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

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

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

例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;

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

示例:

/* active statistic task number */

#define MAX_ACT_TASK_NUMBER 1000

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

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

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

/* 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*/ };

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

示例:

/* 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;

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

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

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

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

}

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

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

/* code one comments */

program code one

/* code two comments */

program code two

应如下书写

/* code one comments */

program code one

/* code two comments */

program code two

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

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

12-15:对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。

说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句。

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

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;

...

?2-1:避免在一行代码或表达式的中间插入注释。

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

?2-2:通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。

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

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

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

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

/* if receive_flag is TRUE */

if (receive_flag)

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

/* if mtp receive a message from links */

if (receive_flag)

?2-4:在程序块的结束行右方加注释标记,以表明某程序块的结束。

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

示例:参见如下例子。

if (...)

{

// program code

while (index < MAX_INDEX)

{

// program code

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

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

?2-5:注释格式尽量统一,建议使用“/* …… */”。

?2-6:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。

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

3 标识符命名

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

说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。

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

temp 可缩写为 tmp ;

flag 可缩写为 flg ;

statistic 可缩写为 stat ;

increment 可缩写为 inc ;

message 可缩写为 msg ;

13-2:命名中若使用特殊约定或缩写,则要有注释说明。

说明:应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。

13-3:自己特有的命名风格,要自始至终保持一致,不可来回变化。

说明:个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。

13-4:对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。

说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。

示例:下面所示的局部变量名的定义方法可以借鉴。

int liv_Width

其变量名解释如下:

l 局部变量(Local)(其它:g 全局变量(Global)...)

i 数据类型(Interger)

v 变量(Variable)(其它:c 常量(Const)...)

Width 变量含义

这样可以防止局部变量与全局变量重名。

13-5:命名规范必须与所使用的系统风格保持一致,并在同一项目中统一,比如采用UNIX 的全小写加下划线的风格或大小写混排的方式,不要使用大小写与下划线混排的方式,用作特殊标识如标识成员变量或全局变量的m_和g_,其后加上大小写混排的方式是允许的。

示例: Add_User不允许,add_user、AddUser、m_AddUser允许。

?3-1:除非必要,不要用数字或较奇怪的字符来定义标识符。

示例:如下命名,使人产生疑惑。

#define _EXAMPLE_0_TEST_

#define _EXAMPLE_1_TEST_

void set_sls00( BYTE sls );

应改为有意义的单词命名

#define _EXAMPLE_UNIT_TEST_

#define _EXAMPLE_ASSERT_TEST_

void set_udt_msg_sls( BYTE sls );

?3-2:在同一软件产品内,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生冲突。

说明:对接口部分的标识符应该有更严格限制,防止冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。

?3-3:用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

说明:下面是一些在软件中常用的反义词组。

add / remove begin / end create / destroy

insert / delete first / last get / release

increment / decrement put / get

add / delete lock / unlock open / close

min / max old / new start / stop

next / previous source / target show / hide

send / receive source / destination

cut / paste up / down

示例:

int min_sum;

int max_sum;

int add_user( BYTE *user_name );

int delete_user( BYTE *user_name );

?3-4:除了编译开关/头文件等特殊应用,应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义。

4 可读性

14-1:注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。

说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。

示例:下列语句中的表达式

word = (high << 8) | low (1)

if ((a | b) && (a & c)) (2)

if ((a | b) < (c & d)) (3)

如果书写为

high << 8 | low

a |

b && a & c

a |

b <

c & d

由于

high << 8 | low = ( high << 8) | low,

a |

b && a &

c = (a | b) && (a & c),

(1)(2)不会出错,但语句不易理解;

a |

b <

c &

d = a | (b < c) & d,(3)造成了判断条件出错。

14-2:避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。

示例:如下的程序可读性差。

if (Trunk[index].trunk_state == 0)

{

Trunk[index].trunk_state = 1;

... // program code

}

应改为如下形式。

#define TRUNK_IDLE 0

#define TRUNK_BUSY 1

if (Trunk[index].trunk_state == TRUNK_IDLE)

{

Trunk[index].trunk_state = TRUNK_BUSY;

... // program code

}

?4-1:源程序中关系较为紧密的代码应尽可能相邻。

说明:便于程序阅读和查找。

示例:以下代码布局不太合理。

rect.length = 10;

char_poi = str;

rect.width = 5;

若按如下形式书写,可能更清晰一些。

rect.length = 10;

rect.width = 5; // 矩形的长与宽关系较密切,放在一起。

char_poi = str;

?4-2:不要使用难懂的技巧性很高的语句,除非很有必要时。

说明:高技巧语句不等于高效率的程序,实际上程序的效率关键在于算法。

示例:如下表达式,考虑不周就可能出问题,也较难理解。

* stat_poi ++ += 1;

* ++ stat_poi += 1;

应分别改为如下。

*stat_poi += 1;

stat_poi++; // 此二语句功能相当于“ * stat_poi ++ += 1; ”

++ stat_poi;

*stat_poi += 1; // 此二语句功能相当于“ * ++ stat_poi += 1; ”

华为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(); }

华为技术有限公司企业技术规范

DKBA 华为技术有限公司企业技术规范 DKBA4031-2009.06 钣金结构件可加工性设计规范 2009-06-30发布2009-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冲裁的孔间距与孔边距 (7) 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)

华为-PCB设计规范

Q/DKBA-Y004-1999 印制电路板(PCB)设计规范 VER 1.0 0707 1 1 1999-07-30发布 1999-08-30实施 深圳市华为技术有限公司发布 前言 本标准根据国家标准印制电路板设计和使用等标准编制而成。 本标准于1998年07 月30日首次发布。 本标准起草单位:CAD研究部、硬件工程室 本标准主要起草人:吴多明韩朝伦胡庆虎龚良忠张珂梅泽良本标准批准人:周代琪 0707 2 2 Q/DKBA-Y004-1999 3 3 3 目录 目录 1. 1 适用范围4 2. 2 引用标准4 3. 3 术语4 4. 4 目的2 .1 4.1 提供必须遵循的规则和约定2 .2 4.2 提高PCB设计质量和设计效率2 5. 5 设计任务受理2 .3 5.1 PCB设计申请流程2 .4 5.2 理解设计要求并制定设计计划2 6. 6 设计过程2 .5 6.1 创建网络表2 .6 6.2 布局3 .7 6.3 设置布线约束条件4 .8 6.4 布线前仿真(布局评估,待扩充)8 .9 6.5 布线8 .10 6.6 后仿真及设计优化(待补充)15 .11 6.7 工艺设计要求15 7. 7 设计评审15 .12 7.1 评审流程15 .13 7.2 自检项目15 附录1:传输线特性阻抗 附录2:PCB设计作业流程

Q/DKBA-Y004-1999 印制电路板(PCB)设计规范 1. 适用范围 本《规范》适用于华为公司CAD设计的所有印制电路板(简称PCB)。 2. 引用标准 下列标准包含的条文,通过在本标准中引用而构成本标准的条文。在标准出版时,所示 版本均为有效。所有标准都会被修订,使用本标准的各方应探讨,使用下列标准最新版本的 可能性。[s1] GB 4588.3—88 印制电路板设计和使用 Q/DKBA-Y001-19 99 印制电路板CAD工艺设计规范 1. 术语 1..1 PCB(Print circuit Board):印刷电路板。 1..2 原理图:电路原理图,用原理图设计工具绘制的、表达硬件电路中各种器件之间的连接 关系的图。 1..3 网络表:由原理图设计工具自动生成的、表达元器件电气连接关系的文本文件,一般包 含元器件封装、网络列表和属性定义等组成部分。 1..4 布局:PCB设计过程中,按照设计要求,把元器件放置到板上的过程。 深圳市华为技术有限公司1999-07-30批准 1999-08-30实施 14 1..5 仿真:在器件的IBIS MODEL或SPICE MODEL支持下,利用EDA设计工具对PCB的布局、布线效果进行仿真分析,从而在单板的物理实现之前发现设计中存在的EMC问题、 时序问题和信号完整性问题,并找出适当的解决方案。 深圳市华为技术有限公司1999-07-30批准 1999-08-30实施 15 Q/DKBA-Y004-1999 II. 目的 A. 本规范归定了我司PCB设计的流程和设计原则,主要目的是为PCB设计者提供必须遵 循的规则和约定。 B. 提高PCB设计质量和设计效率。 提高PCB的可生产性、可测试、可维护性。 III. 设计任务受理 A. PCB设计申请流程 当硬件项目人员需要进行PCB设计时,须在《PCB设计投板申请表》中提出投板申请, 并经其项目经理和计划处批准后,流程状态到达指定的PCB设计部门审批,此时硬件项 目人员须准备好以下资料: 经过评审的,完全正确的原理图,包括纸面文件和电子件; 带有MRPII元件编码的正式的BOM; PCB结构图,应标明外形尺寸、安装孔大小及定位尺寸、接插件定位尺寸、禁止布线区 等相关尺寸;

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.术语和定义 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 格式:对此规范格式的说明。 说明:对此规范或建议进行必要的解释。 示例:对此规范或建议从正、反两个方面给出例子。

华为软件编程规范.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 ...

华为QA类技术任职资格标准

QA类技术任职资格标准 版本号:2.0 拟制单位:技术管理处/技术干部部

目录 概述 .....................................3页 第一部分级别定义.................................5页 第二部分资格标准.......................................7页

概述 任职资格管理的目的 ?规范人才的培养和选拔,推动做实的人不断提高水平,引导有水平的人做实,按做实给予评价。 ?激励员工不断提高其职位胜任能力,以职业化的员工队伍参与国际竞争。?树立有效培训和自我学习的标杆,以资格标准牵引员工不断学习、不断改进,保持公司的持续性发展。 任职资格认证原则 ?以关键行为和核心技能为中心 ?以工作实绩为导向 ?标准公开、程序公正 ?测试、评议相结合 任职资格标准体系 ?QA类任职资格标准由工作经验、必备知识、技能标准、工作绩效、行为标准等五个部分组成。

QA类任职资格认证对象 从事QA类工作的人员

第一部分级别定义 根据QA类的实际情况,将技术任职资格等级分为三至六级,如下图所示。 级别定义描述了各级人员的工作定义、工作内容、工作性质、主要职责及影响范围。 级别代码:T0901(03) 级别名称:QA类三级工程师 要点:熟悉公司开发流程,熟悉产品开发过程,了解项目管理过程,有一定模块开发/测试实践经验。独立进行开发流程、开发方法的引导,进行基线审计和交付物审计,了解质量原理,了解统计过程控制,对质量目标把关。 级别代码:T0901(04)

级别名称:QA类四级工程师 要点:熟悉公司开发流程,熟悉产品开发过程,掌握项目管理过程,有复杂模块开发/测试实践经验,有较多的产品/软件工程经验。有开发流程、开发方法的引导的成功经验,进行基线审计和交付物审计,参与公司内部审计。熟悉质量原理,熟悉统计过程控制,对产品质量目标把关,对项目成功起到重要作用。具有良好的沟通能力。可指导三级工程师。 级别代码:T0901(05) 级别名称:QA类五级工程师 要点:公司内本领域带头人。非常熟悉公司开发流程,深入领会产品开发过程,精通项目管理过程,深入领会质量管理系统,有系统设计/测试实践经验。有深入的过程改进经验,有组织制定、推行业务部的过程改进活动的成功经验;组织参与开发过程定义、开发规范制定,有深入的内部审计经验。有良好的沟通能力,可指导四级及以下级别工程师。 级别代码:T0901(06) 级别名称:QA类六级工程师 要点:在公司本领域内被认为是权威。根据公司总体发展战略,制定产品/软件过程改进发展战略,确保方向的正确性和可持续发展性;精通产品/软件工程和开发过程、项目管理过程、质量管理体系,有系统设计/测试实践经验。有较多过程改进经验,有组织制定、推行公司的过程改进活动的成功经验;组织公司的开发过程定义、开发规范制定。具有深入的内部审计经验,有良好的沟通能力。可指导五级及以下级别工程师。

177 华为结构类技术任职资格标准

华为技术有限公司 结构类技术任职资格标准 版本号:2.0 拟制单位:结构造型设计部/技术干部部 二○○一年十一月

目录 概述 ................. ... ... ... 3页 第一部分级别定义................5页 第二部分资格标准.............. 8页

概述 任职资格管理的目的 ?规范人才的培养和选拔,推动做实的人不断提高水平,引导有水平的人做实,按做实给予评价。 ?激励员工不断提高其职位胜任能力,以职业化的员工队伍参与国际竞争。?树立有效培训和自我学习的标杆,以资格标准牵引员工不断学习、不断改进,保持公司的持续性发展。 任职资格认证原则 ?以关键行为和核心技能为中心 ?以工作实绩为导向 ?标准公开、程序公正 ?测试、评议相结合 任职资格标准体系 ?结构类任职资格标准由工作经验、必备知识、技能标准、工作绩效、行为标准等五个部分组成。 结构类任职资格认证对象

从事结构类工作的人员

级别定义描述了各级人员的工作定义、工作内容、工作性质、主要职责及影响范围。 级别代码:T0501(01) 级别名称:结构类一级工程师 要点:有一定的结构造型或结构设计与验证实践经验;能够独立进行结构设计验证工作;承担产品结构部分的详细设计、实现、验证、BOM及文档编号、改进与维护等工作;是结构模块功能的直接实现者、操作者、测试验证者。在二级及以上工程师指导下解决验证过程中一般问题,按计划要求完成任务并保证质量。 级别代码:T0501(02) 级别名称:结构类二级工程师 要点:有较多的结构造型或结构设计与验证实践经验,以及一定的结构概要设计经验。能够独立完成结构设计与验证工作,以及一定的结构概要设计工作。承担较复杂的结构详细设计与验证,以及复杂程度一般的结构概要设计等工作。在三级及以上工程师的指导下解决结构开发及验证过程中的一般难题,按时完成指标、计划并保证质量。具有培养、辅导新员工,担任新员工思想导师的能力和责任。 级别代码:T0501(03)

华为员工行为规范

华为员工行为规范 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元,同时将处罚意见写入员工个人考核意见中。

华为代码规范文档

代码规范文档

目录 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)

华为规范

一、规范五大高压线 高压线一、所有操作必经技术授权及客户授权、在行业默许时间内操作:涉及现网的任何操作均需要通过技术授权并向用户提交书面申请,得到客户的签字确认后才能执行;涉及现网的任何危险操作绝对禁止在白天(非行业默许时间)进行,如用户强制要求,须经用户维护主管签字确认,经办事处产品区域RPM、项目经理/维护项目经理、客户支持经理、系统部ASD同意,并得到维护leader技术授权通过后方可进行。 高压线二、重大操作必按提方案,审核通过方可执行:涉及现网的所有升级/割接/整改必须按照《XX变更方案模板》制定详细的操作方案,且方案审核通过后才能执行;操作前必须进行数据备份,完成后必须进行业务、计费测试和记录,测试结果必须用户签字确认。 高压线三、重大事故及时通报,问题处理及时汇报:工程师获知客户重大事故时,应即时汇报(5分钟内)通报给2个人:产品维护leader、维护项目经理。合作方员工在遇到重大事故时,5分钟内通报办事处产品技术负责人、项目经理,产品技术负责人、项目经理5分钟内分别通报产品维护leader、维护项目经理、工程经理。问题处理完毕后在1个工作日内向用户维护主管进行汇报(重要的需要书面汇报),汇报问题解决情况或者下一步措施; 高压线四、报告提交客户前必须经过办事处审核:所有向用户提供的书面报告(尤其是产品故障说明报告),均需要经过产品维护leader、维护项目经理、区域RPM、系统部ASD审核,严禁私自向用户提供报告。 高压线五、杜绝一切退单和投诉,坚决保证客户满意度:熟记和理解工程满意度、问题单满意度回访要求,杜绝一切形式的低分问题单(工程)或退单;日常注意和用户沟通的方式,从心底里尊重用户,杜绝一切形式的投诉和低分单。 二、办事处重大事故通报流程

内部技术标准

内部技术标准 华为技术内部技术规范 DKBA0.400.0114 REV.1.0 金属材料质量要求 Requirement for the metal material 2007年01月20日公布2007年01月20日实施 华为技术 Huawei Technologies Co., Ltd. 版权所有侵权必究 All rights reserved

修订声明Revision declaration 本规范拟制与说明部门:整机工程部结构造型设计部 本规范的相关系列规范或文件:无 相关国际规范或文件一致性:无 替代或作废的其它规范或文件:无 相关规范或文件的相互关系:无

目录Table of Contents 1规定的材料 (6) 1.1材料牌号及化学成份 (6) 1.2材料的机械性能 (7) 1.2.1差不多力学性能 (7) 1.2.2工艺性 (7) 1.3对预镀钢板的专门要求 (7) 1.3.1表面镀层厚度及表面处理方式 (7) 1.3.2表面外观质量 (8) 1.3.3镀层附着性试验 (8) 1.3.4表面耐蚀性 (8) 1.3.5表面接触电阻 (8) 1.3.6与有机涂层的结合力 (9) 2替代材料 (9) 3附录:预镀钢板外观花纹图片 (10) 4参考文献REFERENCE DOCUMENT (11) 表名目List of Tables 表1 钢材牌号及化学化学成份 (6) 表2 材料力学性能要求 (7) 表3 替代材料表 (9) 图名目List of Figures 图1 耐指纹电镀锌钢板:平均的灰色 (10) 图2 热镀铝锌板:小晶花 (10) 图3 热浸镀锌板:大晶花 (10) 图4 热浸镀锌板(GI料):无晶花、但有锌纹 (11)

硬件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.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明: 一句话描述 详细描述 产品模块
公司版本信息

2020(技术规范标准)华为工艺技术任职资格标准]

深圳市华为技术有限公司 工艺技术任职资格标准 第一版

中试部拟制二零零零年四月

概述.......................................................................3页 第一部分级别角色定义..............................................6页 第二部分资格标准.................................................10页 第三部分测评定级表...................................................33页第四部分工艺类一级工程师行为认证表..........................48页第五部分工艺类二级工程师行为认证表..........................63页第六部分工艺类三级工程师行为认证表........................83页. 第七部分工艺类四级工程师行为认证表.........................108页第八部分工艺技术类任职认证操作指南.......................130页第九部分附件..............................................................136页

专业任职资格的目的 面对工艺队伍的壮大及要求的不断提高,中试部工艺试验中心亟待需要一套资格标准。 ?考察各级工艺技术人员的职位胜任能力。 ?通过标准的牵引,促使工艺技术人员不断进步。 对象 ?中试部工艺试验中心 直接从事工艺技术工作的技术人员 任职资格的定位 ?资格不仅仅是能力 任职资格考察的不仅仅只包括能力,有没有资格担任一个岗位,实际上需要考察一个人的综合表现,它是素质、能力、业绩、知识、经验的有机融合。 ?考察员工的职位胜任能力 因为任职资格是综合表现,它的作用不是仅仅工资、奖金等可以体现的,它将对影响所有人事待遇的职位产生主要作用。 任职资格的工作重心 ?对绩效考核部门没有涉及的能力、素质、知识、经验等建立标准 ?对于绩效考核部门已经解决的绩效考核标准及已产生的考核结果,任职资格主要是加以利用。

精编华为结构类技术任职资格标准

华为技术有限公司结构类技术任职资格标准 版本号: 2.0 拟制单位:结构造型设计部/ 技术干部部 二OO—年十一月 目录 概述......... ... ... ... 3 页 第一部分级别定义............... 5 页 第二部分资格标准............. 8 页 概述 任职资格管理的目的规范人才的培养和选拔,推动做实的人不断提高水平,引导有水平的人做实,按做实给予评价。激励员工不断提高其职位胜任能力,以职业化的员工队伍参与国际竞争。树立有效培训和自我学习的标杆,以资格标准牵引员工不断学习、不断改进,保持公司的持续性发展。 任职资格认证原则 以关键行为和核心技能为中心 以工作实绩为导向 标准公开、程序公正 测试、评议相结合 任职资格标准体系 结构类任职资格标准由工作经验、必备知识、技能标准、工作绩效、行为标准等

从事结构类工作的人员

第一部分级别定义 根据结构类的实际情况,将技术任职资格等级分为一至六级,如下图所示。 级别定义描述了各级人员的工作定义、工作内容、工作性质、主要职责及影响范围。 级别代码:T0501 (01) 级别名称:结构类一级工程师 要点:有一定的结构造型或结构设计与验证实践经验;能够独立进行结构设计验证工作;承担产品结构部分的详细设计、实现、验证、BOh及文档编号、改进与维护等工作;是结构模块功能的直接实现者、操作者、测试验证者。在二级及以上工程师指导下解决验证过程中一般问题,按计划要求完成任务并保证质量。 级别代码:T0501(02) 级别名称:结构类二级工程师 要点:有较多的结构造型或结构设计与验证实践经验,以及一定的结构概要设计经验。能够独立完成结构设计与验证工作,以及一定的结构概要设计工作。承担较复杂的结构详细设计与验证,以及复杂程度一般的结构概要设计等工作。在三级及以上工程师的指导下解决结构开发及验证过程中的一般难题,按时完成指标、计划并保证质量。具有培养、辅导新员工,担任新员工思想导师的能力和责任。 级别代码:T0501(03) 级别名称:结构类三级工程师 要点:有较多的确定结构设计规格及方案、完成复杂结构详细设计的经验,以及 一定的产品结构需求分析与概念定位的实践经验。可独立承担产品结构部分规格及方案 设计、复杂结构析详细设计,以及一定的结构开发需求分析等工作。对产品结构部分质量、成本、进度、客户满意度,以及产品可测试性、可制造性、可服务性有一定影响,注重经验与技术的总结和重复利用。在高级别工程师指导下可解决关键技术问题,是设计或测试某一环节的技术主力,能独挡一面。可以指导和培养低级别工程师;可承担小型项目的领导职责,或作为中型项目的骨干力量。 级别代码:T0501(04) 级别名称:结构类四级工程师 要点:有较多的产品结构需求分析与概念定位的实践经验,以及较深入的复杂结

华为员工行为规范定稿版

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

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

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

华为技术有限公司企业技术规范.

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

华为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() 方法。

相关主题
文本预览
相关文档 最新文档