当前位置:文档之家› DotNet编码规范

DotNet编码规范

DotNet编码规范
DotNet编码规范

C# 编码规范

南方软件精英实验室

二零一三年十月

目录

1目标 (4)

2概述 (4)

3总体要求 (4)

3.1程序结构化 (4)

3.2代码可读性 (4)

3.3代码结构化 (4)

3.4正确性与容错性 (5)

4编码规范 (5)

4.1文件结构 (5)

4.1.1C# 文件 (5)

4.1.2目录结构 (5)

4.2缩进 (5)

4.2.1换行 (5)

4.2.2空格 (6)

4.3注释 (6)

4.3.1模块注释 (6)

4.3.2单行注释 (7)

4.3.3类注释 (7)

4.3.4方法注释 (7)

4.4声明 (7)

4.4.1单行声明变量数 (7)

4.4.2初始化 (8)

4.4.3类和接口声明 (8)

4.5功能语句 (9)

4.5.1简单逻辑 (9)

4.5.2if-else语句 (9)

4.5.3For / Foreach 语句 (9)

4.5.4While/do-while 语句 (9)

4.5.5Switch 语句 (10)

4.5.6Try-catch 语句 (10)

4.6空白 (11)

4.6.1空白行 (11)

4.6.2参数条件之间的空白 (11)

4.6.3表格式的样式 (12)

4.7命名规范 (12)

4.7.1大写 (12)

4.7.1.1Pascal 风格 (12)

4.7.1.2驼峰规则 (12)

4.7.1.3大写风格 (12)

4.7.2命名方法 (12)

4.7.2.1类命名 (13)

4.7.2.2接口命名 (13)

4.7.2.3枚举命名 (13)

4.7.2.4常量命名 (13)

4.7.2.5参数命名 (13)

4.7.2.6变量命名 (13)

4.7.2.7方法命名 (13)

4.7.2.8属性命名 (14)

4.7.2.9事件命名 (14)

4.7.2.10大写风格 (14)

4.8开发习惯 (14)

4.8.1可见性 (14)

4.8.2不要硬编码数字 (15)

4.9代码示例 (15)

4.9.1作用域(“{}”)示例 (15)

5附录 (16)

5.1XML注释标记的使用 (16)

6版本记录 (19)

1目标

为新宇DotNet组的C#程序员制定一个统一的编码规范,最大限度减少不同程序员开发的代码间的差异。

2概述

为了使应用程序的结构和编码风格标准化,便于阅读和理解编码,以提高开发效率和产品的标准化,制订一套开发规范和标准势在必行。此外,好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。希望开发人员严格遵守此套开发规范和标准,并落实到自己的程序中。

本规范主要针对C#程序员,但是其中许多规则同时适用于其他语言的程序员。

3总体要求

3.1程序结构化

?程序结构清晰,函数功能简单易懂(单个函数的代码行数不超过100行)

3.2代码可读性

?保持注释与代码完全一致

?每个源程序文件,都有文件头说明,详细见下节

?每个函数,都有函数头说明,详细见下节

?主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义

?处理过程的每个阶段都有相关注释说明

?在典型算法前都有注释, 同时算法在满足要求的情况下尽可能简单

?利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 4个字节

?循环、分支层次一般不应超过五层

?代码简单的分支应该写在前面

?不允许同行出现两个语句

?空行和空白字符也是一种特殊注释

?一目了然的语句不加注释

?注释的作用范围可以为:定义、引用、条件分支以及一段代码

?常量定义(DEFINE)有相应说明

3.3代码结构化

?禁止GOTO语句

?用 CASE 实现多路分支

?避免不必要的分支

?用 IF 语句来强调只执行两组语句中的一组。尽量不使用 ELSE RETURN

?尽量避免从循环引出多个出口

3.4正确性与容错性

?所有变量在调用前必须被初始化

?不要比较浮点数的相等,如: 10.0 * 0.1 == 1.0 ,不可靠

?访问外部资源(数据库,外部文件)时使用规范的容错语句

例如:

try

{

}

catch

{

}

finally

{

}

4编码规范

4.1文件结构

4.1.1C# 文件

尽量不要让你的类或者文件太长,一般不应超过2000行代码。请按照功能划分你的代码,使结构保持清晰。一般情况下,一个文件应当只有一个类,并且文件名应该与类名保持一致。

4.1.2目录结构

应该为每个名称空间(namespace)建立一个目录(例如,我们可以为名称空间MyProject.TestSuite.TestTier建立这样的目录:MyProject/TestSuite/TestTier)。这样做可以让你很快定位到指定名称空间下的类文件。

4.2缩进

4.2.1换行

如果表达式太长而一行无法写下时,请按照下列规范进行换行:

●可以在逗号后面进行换行

●可以在操作符号后进行换行

●尽量选择在较高层处进行换行

●换行后的新行应当与前一行中同级别的运算符对齐

例子:

方法调用换行:

longMethodCall(expr1, expr2,

expr3, expr4, expr5);

算术表达式换行:

规范的:

var = a * b / (c - g + f) +

4 * z;

不规范的:

var = a * b / (c - g +

f) + 4 * z;

上面第一个表达式的换行方式是符合规范的,它换行在括号外面(较高

层)。另外请注意,换行后的新行应使用tab和空格保持与前一行的同级运算符对齐,例如:

> var = a * b / (c - g + f) +

> ......4 * z;

'>'表示Tab符, '.'表示空格。你可以设置你的编辑环境,使Tab和空格在编辑时是可见的,这是一个不错的习惯。

4.2.2空格

我们选择Tab缩进作为缩进时采用的标准。

[请不要使用空格代替Tab键!]

4.3注释

4.3.1模块注释

在一个程序模块的开始,应用注释说明模块的名字、功能、开发者和日期和版本变更历史,如下所示:

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

* Copyright(c) Suzsoft DotNet Group

* Description : Tenant access class

* CreateDate : 2006-06-02 05:03:46

* Creater : Johnson Cao

* LastChangeDate:

* LastChanger :

* Version Info : 1.0

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

4.3.2单行注释

程序员应当在算法比较复杂的表达式前、特殊含义的变量前或者在一整段功能代码开始之前添加适当的注释。我们要求这样的单行注释采用”//”符号,例如:

// Calculate subTotal

Decimal subTotal = 0;

4.3.3类注释

在定义一个类之前,应用“///”注释说明类的功能、使用方法和特殊的属性,如下所示:

///

/// This class...

///

/// Please note …

///

///

详细的xml注释标记的使用请参见附录。

4.3.4方法注释

在定义类成员方法前,应说明该过程/函数的名字、功能、输入/输出和版本变更历史,如下所示:

///

/// This method ….

///this is a param of the method SomeMethod.

///a return object

///

//-------------------------------------------------------------------------------------------------

// Change History:

// Date Who Changes Made

// 2000-5-1 Author1 Initial creation

// 2000-5-15 Author2 Add some code

//-------------------------------------------------------------------------------------------------

public object SomeMethod(object param1)

{

}

4.4声明

4.4.1单行声明变量数

我们推荐每行只声明一个变量,因为这样你可以在声明后面写上该变量的注释,例如:

int level; // indentation level

int size; // size of table

请不要在同一行声明不同含义的变量,比如:

int a, b; //What is 'a'? What does 'b' stand for?

上面的例子同样可以说明了没有意义的变量名称会让人很难理解,因此,在定义变量的时候,我们一定要给它们一个有含义的名字。

4.4.2初始化

最好在一定义后就初始化变量,例如:

string name = https://www.doczj.com/doc/4718740781.html,;

or

int val = time.Hours;

注意:如果你想要初始化对话框变量,建议使用using 声明方式

例如:

using (OpenFileDialog openFileDialog = new OpenFileDialog())

{

...

}

4.4.3类和接口声明

在声明类和接口的时候应当遵照下列规范:

●方法名称和放置参数的括号”(”之间不应该有空格

●类名声明之后应另起一行写作用域开始符”{”

●作用域结束符”}”应当单独占一行,并与对应的开始符”{”处在同一缩进位置

示例:

Class MySample : MyClass, IMyInterface

{

int myInt;

public MySample(int myInt)

{

this.myInt = myInt ;

}

void Inc()

{

++myInt;

}

void EmptyMethod()

{

}

}

4.5功能语句

4.5.1简单逻辑

每一行代码应当只实现一个逻辑

4.5.2if-else语句

if-else应该按照这种格式书写:

if(condition)

{

DoSomething();

...

}

else

{

DoSomethingOther();

...

}

4.5.3For / Foreach 语句

For循环语句格式:

for(int i = 0; i < 5; ++i)

{

...

}

或者,如果循环只有一个简单执行语句的话:

for (initialization; condition; update) ;

foreach循环格式:

foreach(int i in IntList)

{

...

}

注意:即使循环中只有一句执行语句,我们也要求使用”{}”

4.5.4While/do-while 语句

While循环格式:

while (condition)

{

...

}

对于空循环可以这样写:while (condition) ; do-while循环格式:

do

{

...

}while(condition);

4.5.5Switch 语句

switch格式:

switch (condition)

{

case A:

...

break;

case B:

...

break;

default:

...

break;

}

4.5.6Try-catch 语句

try-catch格式:

try

{

...

}

catch (Exception) {} 或者:

try

{

...

}

catch (Exception e)

{

...

}

或者:

try

{

...

}

catch (Exception e)

{

...

}

finally

{

...

}

4.6空白

4.6.1空白行

空白行有增强可读性的作用。它们隔离了逻辑上相互独立的模块。

●在下列情况中我们还可以使用双空白行:

?源文件中的两个独立的逻辑片断之间

?类和接口之间(但一般情况下我们还是建议一个文件一个类或接口)

●下列情况中我们可以使用单空白行:

?方法之间

?属性之间

?方法内局部变量第一出声明前

?方法内相对独立的逻辑之间

注意,尽量保持空白行和其他行具有同样的缩进,可以使今后插入代码能够保持相同的缩进。

4.6.2参数条件之间的空白

通过这些空白,可以使代码更容易被阅读,例如:

TestMethod(a, b, c);

而不应该这样:TestMethod(a,b,c)

但是也不应有过多的空格,比如:

TestMethod( a, b, c );

操作符和变量或数字之间应该有空格:

a = b; // don't use a=b;

for (int i = 0; i < 10; ++i)

// don't use for (int i=0; i<10; ++i)

// or

// for(int i=0;i<10;++i)

4.6.3表格式的样式

连续的多行付值语句可以这样子写:

string strName = "Mr. Ed";

int nValue = 5;

Test aTest = Test.TestYou;

利用空格对齐所有的“=”,使代码块看起来像表格一样。

4.7命名规范

4.7.1大写

4.7.1.1Pascal 风格

变量的首字母大写,如:Name

4.7.1.2驼峰规则

除了首个单词,每个单词的首字母大写,如:TestName

4.7.1.3大写风格

只在少于两个字母的缩写中使用大写。三个以上字母的缩写都应该使用PASCAL 风格。

4.7.2命名方法

通常我们采用匈牙利命名法来为变量命名。

匈牙利命名法通常采用变量类型的缩写作为前缀,变量含义的全拼作为后缀的方法来命名变量。这种命名方法被广泛的采用在windows程序开发中,它因由一匈牙利程序员创立而得名。

注意:好的变量命名不是突出其类型,而是突出其含义。

对于UI控件,我们强制要求缩写前缀,例如:

System.Windows.Forms.Button btnCancel;

System.Windows.Forms.TextBox txtName;

4.7.2.1类命名

●使用名词或名词短语命名类。

●使用Pascal风格.

●谨慎使用缩写命名类。.

●不要使用任何类前缀(如C).

4.7.2.2接口命名

●使用名词或名词短语命名接口.(例如 IComponent 或 IEnumberable)

●使用Pascal风格

●使用大写的I作为首字母,表示为接口

4.7.2.3枚举命名

●使用Pascal风格

●不使用前缀

●使用单数名词命名

4.7.2.4常量命名

●采用有意义的单词命名

●使用全部大写字母拼写

4.7.2.5参数命名

●相对变量而言,参数更注重本身的含义作为命名

●使用驼峰规则命名

4.7.2.6变量命名

●作为循环中的运算子的变量,更适合采用简单的命名,如i, j, k, l, m, n

4.7.2.7方法命名

●采用动词命名,或者动词词组

●使用Pascal风格

4.7.2.8属性命名

●使用名词或名词短语命名属性

●使用Pascal风格

4.7.2.9事件命名

●使用EventHandler作为事件句柄的后缀

●使用两个参数:sender 和e

●使用Pascal风格

●使用EventArgs 作为Event Argument类型名的后缀

●使用进行时动词和过去式动词作为事件的名称

4.7.2.10大写风格

Type Case Notes

Class / Struct Pascal Casing

Interface Pascal Casing Starts with I

Enum values Pascal Casing

Enum type Pascal Casing

Events Pascal Casing

Exception class Pascal Casing End with Exception

public Fields Pascal Casing

Methods Pascal Casing

Namespace Pascal Casing

Property Pascal Casing

Protected/private Fields Camel Casing

Parameters Camel Casing

4.8开发习惯

4.8.1可见性

请避免将类变量或一个实例声明为公共类型的变量,而应该将其声明为私有变量。

如果你确实需要公开一个类变量或者实例的话,可以使990用属性(Property)来公开它。

4.8.2不要硬编码数字

也就是说,在你的逻辑代码中,不要采用数字直接参与计算,尤其是那些可能需要改变的数字。你应该将它付值给一个常量,使用该常量参与计算。这样做得好处是,如果这个数字改变的时候,你不必在代码中将他找出并修改,而只需修改常量的值。

public class MyMath

{

public const double PI = 3.14159...

}

4.9代码示例

4.9.1作用域(“{}”)示例

namespace ShowMeTheBracket

{

public enum Test

{

TestMe,

TestYou

}

public class TestMeClass

{

Test test;

public Test Test

{

get

{

return test;

}

set

{

test = value;

}

}

void DoSomething()

{

if (test == Test.TestMe)

{

//...stuff gets done

}

else

{

//...other stuff gets done

}

}

}

}

作用域("{}”)应该在下列代码后另起一行开始:

●Namespace声明后

●Class/ Interface / Struct 的声明后

●Method声明后

●循环或者判断(if…else…)后

5附录

5.1XML注释标记的使用

5.1.1Section 标记

Section 标记用于定义不同的代码文档的区域。它们都是顶级标记,Block 标记、Inline 标记都应包含在某个 Section 标记的内部。(除非自定义了扩展 XSLT 转换,否则,在Section 标记外部的 Block 标记或 Inline 标记都被忽略。)

标记说明

[NDoc 扩充]

对某个成员可能引发的事件的说明。

“示例”,帮助类库使用者理解类型/成员使用方法的示例代码。

对某个成员可以抛出的异常的说明。

[NDoc 扩充] 指示 NDoc 文档引擎将被标记的类型/成员排除在代码文档之外。与文档引擎的“可见性”配置不符的,以 exclude 优先。

将代码文件外部的某 XML 文件中的一部分包含进代码文件来。

[NDoc 扩充]

为“重载列表”页面准备摘要、备注、示例等文档内容。只需在重载成员的第一个成员前面书写此区域即可。

标记有两种形式:

?简单的形式,直接在 overload 中写文本,这些文本被处理为“重载列表”页面的摘要。没有备注、示例等区域。

?复杂的形式,在 overload 内部,包含 summary, remarks, example 等标记分别表示“重载列表”页面的摘要、备注、示例等。

标记说明

示例:

///This method has two overloads.

///

This overload just says hello.

public void SayHello() { ... }

///

This one says hello to someone.

public void SayHello(string toSomeone) { ... }

成员的参数说明。

访问某成员所必需的 .NET Framework 安全性CodeAccessPermission。

[NDoc 扩充]

将某类型/成员标记为“预发布”。内部的文本被当作警告文本用红色显示,可以包含表示多行文本。如果缺少内部文本,则显示默认的警告文本: “[此文档为预发布版本,在未来版本中有可能改变。]”。

如果需要把全部类型/成员都标记为“预发布”,请使用文档引擎的Preliminary 配置项。

“备注”,对

的进一步注解。

“返回值”。

向页面的“请参见”区域添加一个链接。

请不要将此标记包含在内部,它是一个顶级标记。

两种可选的语法:

?

href="https://www.doczj.com/doc/4718740781.html,/china/msdn/">MSDN(CHS)

ealso>

?DataSet

“摘要”,对类型/成员的摘要说明。

[NDoc 扩充] “线程安全”,说明类型在多线程环境中是否安全。

NDoc 提供static和instance两个布尔的属性,可以自动生成像 .NET

Framework SDK 类库文档中那样的标准文本。

threadsafety 标记内部可以包含额外的文本,会被显示到标准文本的下方,说明额外的信息。例如:

///

The summary description for

SafeClass.

///

/// More information about using this class across thread

///

public class SafeClass() { ... }

“属性值”。

5.1.2Block 标记

Block 标记用于 Section 标记的内部,它们将显示在单独的行中。

标记说明 多行的代码块。

一个列表或表格。

[NDoc 扩充]

“注意”块。

例如:

///

/// This is a note in the summary. ///

public class SomeClass() { ... }

将生成:

注意 This is a note in the summary.

表示一个段落。

5.1.3Inline 标记

Inline 标记可以用于其他 Section 标记或 Block 标记内部,它们将和前后的文本显示

在同一行中。

标记说明

将内部文本格式化为代码样式,用于表示行文中提到的短小代码片段。

加入指向方法参数的链接。

加入指向某个类型/成员或网络 URL 的链接。

两种可选的语法:

?

href="https://www.doczj.com/doc/4718740781.html,/china/msdn/">MSDN(CHS)

?DataSet

?

其中xxx可以是null, sealed, static, abstract或virtual。

6版本记录

文件修改控制

版本作者日期修改说明

1.00 Bill 2013.10.10 初建版本

阅读与确认记录

文件状态确认日期确认人

阅读日期阅读人阅读意见和建议处理人处理结果

数据库设计和编码规范

数据库设计和编码规范 Version

目录

简介 读者对象 此文档说明书供开发部全体成员阅读。 目的 一个合理的数据库结构设计是保证系统性能的基础。一个好的规范让新手容易进入状态且少犯错,保持团队支持顺畅,系统长久使用后不至于紊乱,让管理者易于在众多对象中,获取所需或理清问题。 同时,定义标准程序也需要团队合作,讨论出大家愿意遵循的规范。随着时间演进,还需要逐步校订与修改规范,让团队运行更为顺畅。 数据库命名规范 团队开发与管理信息系统讲究默契,而制定服务器、数据库对象、变量等命名规则是建立默契的基本。 命名规则是让所有的数据库用户,如数据库管理员、程序设计人员和程序开发人员,可以直观地辨识对象用途。而命名规则大都约定俗成,可以依照公司文化、团队习惯修改并落实。 规范总体要求 1.避免使用系统产品本身的惯例,让用户混淆自定义对象和系统对象或关键词。 例如,存储过程不要以sp_或xp_开头,因为SQL SERVER的系统存储过程以 sp_开头,扩展存储过程以xp_开头。 2.不要使用空白符号、运算符号、中文字、关键词来命名对象。 3.名称不宜过于简略,要让对象的用途直观易懂,但也不宜过长,造成使用不方 便。 4.不用为数据表内字段名称加上数据类型的缩写。 5.名称中最好不要包括中划线。

6.禁止使用[拼音]+[英语]的方式来命名数据库对象或变量。 数据库对象命名规范 我们约定,数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。避免中文和保留关键字,做到简洁又有意义。前缀就是要求每种对象有固定的开头字符串,而开头字符串宜短且字数统一。可以讨论一下对各种对象的命名规范,通过后严格按照要求实施。例如:

软件配置项标识编码规则设计方案解读

软件配置项标识编码规则设计方案 刘宏 2011-9-18 Mail:lh@https://www.doczj.com/doc/4718740781.html, 1.背景 1.1.服务外包中迁移 在服务外包中,难度较大的阶段为——服务外包的迁移工程。 服务迁移工程难度大的主要原因之一,是没有实施迁移前准备标准和迁移后的验收标准。也就是在服务成熟到何种程度——包括管理与技术成熟度,服务才能够向外包方进行迁移,以便发包方有效控制服务外包中的风险,达到服务外包的目的。 服务外包迁移前应达到的准备标准——包括管理标准与技术标准,技术标准是管理标准的基础。技术标准是在服务外包迁移中的必要条件,管理标准是服务外包迁移中的充分条件。 不同服务业务在外包迁移中,具有不同的技术标准,但是具有相同的管理标准——ISO20000规定了管理相关的内容。 因为不同的服务业务具有不同的服务技术标准要求,因此正对IT服务外包业务应根据业务的特点编制相关的技术标准要求。IT服务外包业务可以包括: ●IT系统基础平台维护服务外包 ●IT系统支撑环境维护服务外包 ●应用系统的维护服务外包 1.2.服务外包迁移标准内容 每类服务有可以分成:运营服务(一线服务)、支持性服务(二线服务)、变更性服务(三线服务)。 在IT服务外包中风险较大的是运营服务,因为运营服务一直是直接在客户的生产环境实施,一旦发生错误,有可能给客户造成无法挽回的损失。目前一般风险较大的运营服务,有客户自己承担,不进行外包。 支持性服务也是在客户生产环境实施,但是一般需要进行策划与实施结果测试。由于支

持服务具有一定的技术性,因此这种服务外包迁移前应按照技术标准要求通过验收。只有通过技术标准验收的服务才能够实施服务外包的迁移。 变更性服务是在其他环境中测试完成后,在反映到生产环境中。因此变更性服务与系统建设期的系统开发存在不同的风险。在系统建设期,可以进行充分的测试与试运行测试。在变更性服务由于工期与成本的原因,可能不能充分进行测试与试运行。 1.3.服务外包迁移中标准需求 服务外包方为了及时提供服务需要将分包方的技术成果迁移到外包方处,因此分包方向服务外包方进行服务迁移时,在服务迁移时,迁移哪些内容,迁移的内容在迁移前应到技术标准要求应进行验证与确认。若是没有达到服务外包迁移技术标准,很显然是增加服务外包迁移的风险。 在服务外包迁移实施中,需要对服务外包迁移内容结果进行验证,因此需要服务外包迁移结果验证与确认的技术标准要求。 1.4.应用软件服务迁移标准需求分析 在应用软件系统维护服务外包的迁移中,技术标准主要是针对分包方迁移给外包方的所有技术成果物。对这些成果物需要相关的技术标准要求,以便在服务外包迁移过程,分包方与外包方能够有效沟通与交接,确保服务能够连续,不因为服务外包迁移发生中断或服务水平下降。 为了确保分包方与外包方能够有效进行技术沟通,首先需要明确出工程成果物的标识标准——配置项标识编码标准。这一标准能够是双方能够正确地在配置管理库中找到所需要的配置项。 为了能够有效避免交付过程中,使用错误的成果物。就需要双方共同承认的成果物的编码规则或标准。 由此得出结论:软件配置项标识编码规则,是IT应用系统维护服务外包的技术标准中的基础。 2.方案的目的与目标 2.1.目的 通过提供一般软件配置项编码规则,为企业的软件配置项的管理提供自动化处理的解决

ASTM标准的编号方法及其标准资料类型

ASTM标准的编号方法及其标准资料类型 ASTM标准编号形式为: 标准代号+字母分类代码+标准序号+制定年份+标准英文名称。 示例: 说明: 1. 标准序号后带字母M的为米制单位标准,不带字母M的为英制单位标准。 2. 制定年限后面括号内的年代为标准重新审定的年代。 3. a.b.c......表示修订版次。 4. 字母分类代码为: A ——黑色金属 B ——有色金属(铜,铝,粉末冶金材料,导线等) C ——水泥,陶瓷,混凝土与砖石材料 D ——其它各种材料(石油产品,燃料,低强塑料等) E ——杂类(金属化学分析,耐火试验,无损试验,统计方法等) F ——特殊用途材料(电子材料,防震材料,外科用材料等) G ——材料的腐蚀,变质与降级 ASTM标准的资料类型: Technical Specification (技术规范) Guidance (指南) Test Method (试验方法) Classification (分类法) Standard Practice (标准惯例) Terminology (术语) Definition (定义) 还包括:Test Report (试验报告)及试验方法可使用性

美国钢铁产品牌号表示方法 美国钢铁产品的标准比较多,主要有以下几种: ANSI美国国家标准 AISI 美国钢铁学会标准 ASTM美国材料与试验协会标准 ASME美国机械工程师协会标准 AMS航天材料规格(美国航空工业最常用的一种材料规格,由SAE制定)API美国石油学会标准 AWS美国焊接协会标准 SAE美国机动车工程师协会标准 MIL美国军用标准 QQ美国联邦政府标准

C#编码规范(完整资料).doc

【最新整理,下载后即可编辑】 1程序结构 所有源代码的结构均采用以下顺序布局,对于没有的部分可以省略,便于阅读代码。 //============================================== ================================================ #region Constant #endregion Constant //---------------------------------------------------------------------------------------------- #region Members #endregion Members //---------------------------------------------------------------------------------------------- #region Defaults #endregion Defaults //---------------------------------------------------------------------------------------------- #region Properties #endregion Properties //============================================== ================================================ #region Constructors #endregion Constructors //---------------------------------------------------------------------------------------------- #region InterfaceMethods #endregion InterfaceMethods //---------------------------------------------------------------------------------------------- #region StaticMethods #endregion StaticMethods //---------------------------------------------------------------------------------------------- #region OverrideMethods #endregion OverrideMethods //---------------------------------------------------------------------------------------------- #region PrivateMethods #endregion PrivateMethods //---------------------------------------------------------------------------------------------- #region ProtectedMethods #endregion ProtectedMethods //---------------------------------------------------------------------------------------------- #region PublicMethods #endregion PublicMethods //============================================== ================================================ #region Events #endregion Events //============================================== ================================================ 2命名规则和风格 ⑴类、方法、常量采用Pascal风格命名 public class SomeClass { const int DefaultSize = 100;

标准件编号技术规范

华泰汽车集团技术规范 YF-GF-A0—001 标 准 件 编 号 技 术 规 范 2010-07-01发布 2010-07-01实施 华泰汽车集团研发中心发布

标准件编号技术规范 1、概述 根据公司各项目实际运行情况,为规范所有项目产品零部件编号,为今后产品的设计、制造、生产、采购、销售等提供规范性基础文件,特制定本规范。 2、参考标准 QCT326-1999 汽车标准件产品编号规则 3、标准件编号规则 3.1 标准件和准标准件 3.1.1 标准件:标准编号及标准名称完全符合国家或行业标准的标准件称为标准件。 标准件的编号中不能表达性能等级的信息时,标准件性能等级在备注中注明。例:Q150B0680 8.8级。如标准件代号中已表达了性能等级、表面处理信息的,在备注栏不必再注明。 3.1.2 准标准件:可以用标准件进行表达的非标件称准标准件,准标准件编号为:在标准编号尾增加更改标识。但准标准件只限于: a)螺纹螺距规格的更改(P) 一个标准的螺母或螺栓没有所需的螺距: 例:Q1841025 六角法兰面螺栓标准规格为M10×1.5如设计需要M10×1.25的,表示方法如下:准标准件编号:Q1841025P1.25。 b)螺纹长度规格的更改(b)

标准件螺纹长度的变化: 如一个标准件Q1841280,其中螺杆的长度为80,螺纹长度为30。根据设计要求,螺纹长度要50,表示方法如下:准标准件编号:Q184128050b其中:b是螺纹的长度。标准名称不变。 c)螺栓长度规格的更改(L) 选用的标准螺栓没有需要的长度: 例:如果一个选用的标准螺栓,长度系列最长为60,而实际需要的长度为80,表示方法如下:准标准件编号:Q150B0680L;标准名称不变。 d)平垫圈规格的更改 组合标准件更改平垫圈规格: 例:Q1460820 六角头螺栓、弹簧垫圈和平垫圈组合件。其中垫圈为Q407是标准垫圈,因需要改为Q402大垫圈,表示方法如下: 准标准件编号:Q1460820Q402;标准名称不变。 e)标准件组合 几个单个标准件组合成一个组合件: 准标准中的组合件均不可拆分,各种垫圈和弹簧垫圈的内径应随主件变更,外径等其它参数按取选垫圈的规格确定。 例:一个标准六角法兰面螺栓Q1841080和一个标准垫圈Q402组合,表示方法如下: 准标准件编号:Q1841080Q402;准标准件名称:六角发兰面螺栓和平垫圈组合件。 f) 准标准件编号字符超过18位 例:一个标准内六角花形圆柱头螺钉Q2100620、平垫圈Q401和弹簧垫圈Q403三个标准件组合,表示方法如下: 准标准件编号:Q2100620Q401403F32;

项目开发及编码规范

项目开发规范文档修订历史记录

1.简介 目的 1、用于规范指导开发组进行开发 2、便于成员间的沟通与交流。 3、有助于项目质量和稳定。 4、为后期维护提供支持 2. 项目开发流程 项目开发过程归纳分为以下步骤: 1. 建立SVN项目版本控制。包括文档,源码,Lib包等。 2. 了解需求,并对需求文档的书写。(见文档结构规则附录)。 3. 详细设计文档。(见文档结构规则附录)。 功能模块设计,重要模块的算法设计。 数据库设计等。 根据需求定义开发平台及环境。 4. 编码。 搭建开发平台,配置开发环境。 编码。 单元测试案例。 5. 书写软件安装手册文件,数据库脚本文件,以及注意事项(release notes)。 6. 交互测试组测试。根据测试组测试结果是否回归第4步(测试回归最好不要超过2 次)。 7. 测试通过,交付上线使用。 维护手册 使用手册

3. 代码规范 Java 代码规范 3.1.1 Java类名 类名可由:英文字母,数字,下划线组成。(数字,下划线不能够开头) 类名由一个或者多个单词组成。单词通常要求简洁明了达意。能够通过类名能够大致了解此类的作用和用途。 类名要求首字母大写,多个单词组成类名时,单词的首字母要求大写。 建议:类名不要过于简单或者太长。可以对单词采用简化的名称:入: Number 简化为:num 。 3.1.2 Java类结构 类仅作为数据结构,没有行为,他封装了一组或者相似的一些行为方法。所以一个类尽量功能单一,或者功能类似共有行为的。一个类不要过于庞大。 通常情况下: 一般逻辑类中应该有构造方法和main方法,main方法中应该有测试代码。 每个类应该有 toString() 方法。 3.1.2.1 包和引入语句 在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。 报名的定义全部是小写字母。具体定义依据项目而定。 引入包时候,同一类型的归纳到一块,用空行隔开。例如: import 3.1.2 类注释 Java类开头应该有相应的注释:类版本描述,作者签名,日期时间,公司备注,类的功能作用相关描述等。(详细查看:注释) 3.1.2.2 类成员变量 a) 类变量要求放在类的开始声明。一行声明一个。 b) 变量名称首字母要求小写。其他命名规则类似与类名。 c) static , final 类型的变量,字母要求全部大写。 d) 尽量在声明局部变量的同时初始化。 e) 避免局部变量和成员变量同名,覆盖了成员变量。 f) 尽量变量私有化,缩小变量的作用域。 3.1.2.3 类成员方法 a) 方法名命名规则类似于成员变量命名规则。 b) 成员方法尽量私有化。

软件设计编码规范

质量管理体系过程文件 软件设计编码过程 文件版本信息:

目录 1.目的 设计编码的目的在于设计和实现关于需求的解决方案。保证《需求规格说明书》中的各项要求在设计时都能够得到满足;对项目的编码实现进行质量控制,保证编码实现活动按计划顺利完成并与设计相一致。 2.范围 适用于公司的各类软件项目的系统设计编码过程。 3.术语 无 4.角色与职责

5.入口准则 ●《需求规格说明书》已通过评审。 6.输入 ●《需求规格说明书》 7.流程图 图1: 系统设计编码过程 8.主要活动 系统设计编码过程包括系统设计、系统实现。系统设计是指设计软件系统的体系结构、数据库、模块等,在需求和代码之间建立桥梁,一般分概要设计和详细设计两个阶段;系统实现是指开发人员按照系统设计去编码开发,并进行单元测试、代码走查;在设计编码过程中同时进行用户文档的编制。 8.1.概要设计 概要设计是分析各种设计方案和定义软件体系结构的过程。设计人员在充分了解需求的基础上,依据《需求规格说明书》选用适当的设计方法,分析与设计软件的结构、模块功能。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,编写《概要设计说明书》。《概要设计说明书》必须经过技术评审。 8.1.1.解决方案选择 系统设计时可能会涉及到多种解决方案的选择,如: ●系统实现路线; ●采用的工具和技术; ●产品架构; ●设计模式; ●模块的制作、购买或重用等。 当出现多种候选方案,难以通过简单的方法判断出方案的优劣时,应按照《S_DAR00_决策分析和决定过程》进行决策。

8.1.2.概要设计 概要设计是建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。概要设计的主要步骤有: ?选择设计方法; ?识别解决方案的主要组件:根据解决方案的技术架构和分析方法(面向对象、面向结 构),相应确定解决方案的组件模块; ?对候选技术和工具、组件进行评估,确定是进行开发、购买还是复用已有技术(工具 或者组件)。评估开发、购买或复用方案时需要考虑的事项包括:业务方面:可行性、产品成本、经验、投资回报、成熟度及其他因素;企业体系结构方面:解决方案必须 与当前状态和远景状态计划的约束相适应。包括与企业现有系统的集成等;技术方面:安全、组件模块交互标准、数据访问、数据存储、系统服务、开发工具、操作系统等。 ?识别解决方案主要组件的重要属性和关键关系:在前一任务的基础上,对解决方案主 要组件的重要属性和关键关系进行识别; ?进行数据库设计,建立数据库的逻辑模型和物理模型; ?进行用户界面设计,确定整个系统的界面框架以及界面风格; ?形成《概要设计说明书》。 8.1.3.概要设计评审 概要设计的结果应进行技术评审。技术评审由设计人员提出,由项目经理组织召开。技术评审会议应邀请需求分析师、公司的技术专家、开发人员、测试人员等参加。 关于技术评审会议的要求详见《评审过程》。 8.2.详细设计 详细设计可以和概要设计并行进行,但应考虑并行设计不会因概要设计而导致较大的详细设计返工。 8.2.1.详细设计 详细设计是从开发需求的角度描述解决方案的组件、服务和技术的过程。详细设计定义了解决方案的各个组成部分,以及这些组成部分的开发方法和交互方式。详细设计的步骤包括: ?选择用于开发解决方案的技术并完善设计模型:在概要设计的基础上,选择开发解决 方案采用的技术,并且完善对应的设计模型。

编码规范

一、类名命名规范及使用约定 类名命名规范 根据各种类的类型和用途,采用不同前缀+名词的命名方式。名词采用波浪法,必须使用可以明确表达变量意义的英文名词。 前缀 UE封装类 ?模板类以T 为前缀。 ?继承UObject 的类以U 为前缀。 ?继承AAtor 的类以A 为前缀。 ?继承SWidget 的类以S 为前缀。 ?抽象接口类以I 为前缀。 ?枚举类由E 为前缀 ?布尔变量必须以b 为前缀(比如“bPendingDestruction”,或 “bHasFadedIn”) ?大部分其他类都以F 为前缀, 但某些子系统使用其他字母。 ?Typedef 应该由相应的类型来前缀:F 则说明是struct 的typedef,U 则是UObject 的typedef,以此类推 o对于一个模板的特定化实例来做的typedef 则不再是模板,应该用相应的前缀来定义。比如: typedef TArray FArrayOfMyTypes; 普通类(C++) 一般类,采用C+名词的方式命名 例如: Class CPerson { Protected : String m_strName; String m_strNickName; };

接口类(I) 对于无任何实现的纯虚类,称为接口类,这些类的特点都是无任何成员变量,存在需要其他实现类实现的纯虚函数。 接口类必须采用I+名词的方式命名。 例如: class IDataInput { Public : virtual ~IDataInput() {}; virtual void read() = 0; } 结构体(T) Struct,结构体,必须以T+名词的方式命名。 例如: typedef struct _t_mystruct { Unsigned int number; Unsigned int value; Char name[255]; }TMyStruct,* TMyStructPtr; 模板类 模板类,必须以全小写命名。 例如: template class screen : public map { } 类成员的初始化(Member initialization lists) 成员的初始化必须在构造函数名的下一行开始 正确写法:

https://www.doczj.com/doc/4718740781.html,c#开发规范

https://www.doczj.com/doc/4718740781.html, C#开发规范 第一部分 第一章ASP编码规范通述 ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码。 静态文件编码分Script编码和HTML编码两部分。 服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。 编码规范采用如下约定: 所有客户端脚本一律使用JavaScript 所有服务器端脚本一律使用c# 静态页面输出一律使用HTML脚本 本规范不适用于由服务器端脚本所产生的客户端脚本代码。 第二章静态文件编码规范: 静态文件脚本部分采用JavaScript编写。输出部分采用HTML标记语言。 1. HTML标记语言编码规范 1.1 标记的换行规范: * 一个标记必须占用一行。不得出现两个标记在同一行的情况(同一标记的关闭标记除外),如: text 而必须写成: text 1.2 标记的关闭规范 * 静态文件内容必须包含在标记中间 * 标记必须包含在标记中间 * 对于需要关闭的标记,如: <body><table><tr><td><textarea><select><font><option><div><span> 必须同其关闭标记同时出现。如 <body>……<font>….</font>…. …..</body> * 不得出现交叉包含的语句,如: <font>….. </font> 1.3 标记的属性赋值规范 对于接受属性的标记,属性值必须使用双引号或者单引号包围。如: <body bgcolor=”red”> <font size=’7’></p><h2>软件开发管理规范</h2><p>软件开发管理规范 Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】</p><p>软件开发过程管理规范济南明湖建筑节能技术开发有限公司</p><p>一、总则 1.软件开发项目管理的目的 为保障按时、保质、保量完成预期交付的任务,让整个组织能清楚了解项目实施的目的、影响、进度,做到项目组所有成员都理解项目实施的原因、意义及客户的要求。通过制度化管理来合理组织安排项目组成员的工作职责和角色转换。 2.软件开发项目管理规范适用对象 为了达到软件开发项目管理的根本目的,要求公司全体员工必须严格按照本规范执行,同时要求公司业务人员引导合作单位和客户接受并适应公司本《软件项目开发管理规范》。 3.软件项目开发组织管理 根据软件开发的标准流程,结合公司的实际情况对软件项目分三个主要阶段进行组织管理,分别为项目立项阶段、项目实施阶段和项目验收总结阶段。 二、软件项目立项阶段 1.成立公司项目评估委员会负责公司的项目立项审批。 2.公司项目评估委员会由公司总经理或指定负责人召集,成员为公司管 理层人员、商务负责人、市场负责人、技术总监、技术研发经理、财务负责人组成。 3.公司业务部门按照公司发展要求或外部需求形成《软件项目需求说明 书》,确定项目需求管理人或项目申请人。 4.项目申请人填写《软件项目立项申请书》向项目评估委员会提出项目</p><p>立项申请,主要说明项目的背景、目的、效益、成本、需求等方面,并由技术部门提供支持和技术说明。 5.项目评估委员会收到《项目立项申请书》后三个工作日内,召开评估 会议。给出评估结果。如果批准立项交公司技术总监组织开发。如果不批准,给出理由后项目中止。中止后的项目可根据情况重新申请。 6.评估结果必须包括:建议项目启动日期,期望项目完成日期,项目等 级系数,项目优先级(高中低),资源冲突程度(1~9)。对于资源冲突程度大于5的项目技术总监有权拒绝接受。 三、软件项目实施阶段 1.公司批准立项的项目交由公司技术总监组织实施。 2.技术总监根据资源情况和项目需求组织相关技术人员进行初步需求讨 论会,确定项目的等级系数(如分大、中、小对应3、2、1)、指定项目开发负责人。在立项后五个工作日内技术总监和项目开发负责人共同制定《软件项目开发计划》,确定项目启动日并提交项目评估委员会做反馈确认。如果项目评估委员会二位成员以上对计划有异议,项目评估委员会应该召开项目计划协调会,协调《软件项目开发计划》的修改和通过。如果无异议授权技术总监按照《软件项目开发计划》执行。 3.项目启动日后,项目开发负责人根据《软件项目开发计划》的进度每 周进行一次分析汇报,形成《项目分析周报》确定项目的状态、分析</p><h2>企业标准编号规则</h2><p>Q/ZL 企业标准 Q/ZL 20101—2016 企业标准编号规则 XXXX-XX-XX发布XXXX-XX-XX实施 **************发布</p><p>前言 本标准按照GB/T 1.1-2009给出的规则起草。 本标准由**************提出并归口。 本标准起草单位:**************。 本标准主要起草人:****。 本标准为首次发布。</p><p>企业标准编号规则 1 范围 本标准规定了企业标准的编号规则、编号构成及表达形式。 本标准适用于企业生产经营活动所需要编制的技术标准、管理标准、工作标准的编号及管理。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GB/T 1.1-2009 标准化工作导则第1部分:标准的结构和编写 3 术语和定义 职能标准 在技术标准、管理标准、工作标准中为实现相同或相近的管理功能,而制定的系列标准的总称。如产品标准、标准化管理标准、通用工作标准等。 3.1 个性标准 在各职能标准中,为实现各种技术、管理、工作的功能而制定的各个特性标准。 4 职责 标准化工作小组负责编制和修订企业标准的编号规则,并负责各种企业标准的编号及管理工作。 5 企业标准的编号构成及表达形式 5.1 企业标准代号 企业标准代号用字母“Q”表示。 5.2 企业名称代号 企业名称代号“ZL”表示上海自立塑料制品有限公司,“Q”与“ZL”之间用斜线“/”分开。 5.3 分类代号 技术标准用“1”表示,管理标准用“2”表示,工作标准用“3”标准。 5.4 完整的企业标准编号格式 注:”Q/ZL”和第1位分类代号间空1字节,,其余连续书写。 示例:职能标准标准化管理标准中的个性标准《企业标准的编号规则》,标准代号为Q/ZL 20101-2016 6 职能标准的编号 6.1 技术标准体系中的职能标准编号,如表1。</p><h2>.NET代码规范学习</h2><p>.NET 代码规范学习 下边我谈谈.NET代码规范的学习: 一、注释规范 1,自建代码文件注释: 对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释: /************************************************ * 作者: 小组: 说明: 创建日期: 版本号: **********************************************/ 2,标准注释:</p><p>在模块、类、属性、方法前一行添加注释,以便调用的时候提示用户下以方法声明做例子: ///<summary> ///depiction:<对该方法的说明> ///</summary> ///<paramname="<参数名称>"><参数说明></param> ///<returns> ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义> ///</returns> 如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:///修改人: ///修改日期:< YYYY-MM-DD > ///备份: /* 原代码内容*/</p><p>将原代码内容注释掉,然后添加新代码使用以下注释: ///添加人: ///添加日期:<YYYY-MM-DD> 代码内容 ///结束: 对于重构的类文件,需要对原来的类文件做备份,然后放在同级目录下,在原有文件名后面添加后缀"_BAK",以便日后版本升级时整理源码。 3.代码中的注释: 代码间注释分为单行注释和多行注释: 单行注释: //<单行注释> 多行注释: /*多行注释1 多行注释2 多行注释3*/</p><h2>软件设计编码规范标准[详]</h2><p>质量管理体系过程文件软件设计编码过程</p><p>文件版本信息:</p><p>目录 1.目的 (3) 2.围 (3) 3.术语 (3) 4.角色与职责 (3) 5.入口准则 (3) 6.输入 (3) 7.流程图 (3) 8.主要活动 (4) 8.1.设计原则 (4) 8.2.设计方法.................................................................................... 错误!未定义书签。 8.3.多方案选择 (4) 8.4.概要设计.................................................................................... 错误!未定义书签。 8.4.1.概要设计............................................................................ 错误!未定义书签。 8.4.2.概要设计评审.................................................................... 错误!未定义书签。 8.5.详细设计.................................................................................... 错误!未定义书签。 8.5.1.详细设计 (5) 8.5.2.详细设计评审 (6) 8.6.编码............................................................................................ 错误!未定义书签。 8.7.单元测试 (7) 8.8.代码走查 (7) 8.9.制作用户文档............................................................................ 错误!未定义书签。 8.10.变更............................................................................................ 错误!未定义书签。 9.输出 (8) 10.出口准则 (8) 11.引用文档 (8)</p><h2>编码规范</h2><p>编码规范 (V.01仅供内部使用) 一、布局结构规范 每个源程序文件的头部必须包含文件头部说明(文件名称、软件版权、功能说明、系统版本、开发人员、开发时间)和修改记录说明(修改日期、修改人员、修改说明)。 每个函数头部必须包含函数头部说明(使用https://www.doczj.com/doc/4718740781.html,会自动生成XML格式注释框架。)。 二、书写排版规范 2.1、空行 每个函数定义结束之后都要加一个或若干个空行。 在一个函数体内,变量定义与函数语句之间要加空行。 逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。 2.2、对齐 程序的分界符‘{’和‘}’永远都单独成行并且位于同一列,同时与引用它们的语句左对齐。 2.3、缩行 用缩行显示程序结构,使排版整齐,缩进量统一使用TAB,而不能用空格补齐。 同层次的代码在同层次的缩进层上。 三、语言规范 3.1、常量 全用大写字母命名,用下划线分割单词。 3.2、变量 声明变量的同时对变量进行初始化,严禁使用未经初始化的变量。 3.3、表达式 如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级。 不要有多用途的复合表达式(例如:d = (a = b + c) + r;该表达式既求a 值又求d 值。应该拆分为两个独立的语句:a = b + c;d = a + r;)。 尽量避免含有否定运算的条件表达式(如: if (!(num >= 10))应改为: if</p><p>(num < 10))。 3.4、语句 if 语句本身自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。 3.5、属性 原则上,字段(Field)是不能公开的,要访问字段的值,一般使用属性。属性以简洁清晰的名词命名。 3.6、函数 不要将正常值和错误标志混在一起返回。正常值用输出参数获得,而错误用异常捕获。 在函数体的“入口处”,对参数和通过其它途径进入函数体内的变量(如文件句柄等)的有效性进行检查。 函数的功能要单一,不要设计多用途的函数。 避免函数有太多的参数,参数个数尽量控制在5 个以内。如果参数太多,在使用时容易将参数类型或顺序搞错。 3.7、注释 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要及时删除。 对于全局数据(全局变量、常量定义等)必须要加注释。 当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。 四、命名规范 4.1、命名空间 命名空间构成方法:公司名.产品名[.组件名] 命名空间以.分割的每个节都建立一个文件夹,使命名空间和文件夹保持一致; 4.2、文件 采用小写字母命名文件,避免取一些比较通俗的文件名,如:main.cs 文件名称应尽量和文件中的类名相同。如:frLogin.cs文件中是frmLogin 类的定义。</p><h2>软件编码规范.doc</h2><p>软件编码规范 中国人民银行清算总中心 支付系统开发中心</p><p>注:变化状态:A—增加,M—修改,D—删除</p><p>目录 第一篇C/C++编码规范 (6) 第一章代码组织 (6) 第二章命名 (9) 2.1文件命名 (9) 2.2变量命名 (9) 2.3常量与宏命名 (10) 2.4类命名 (10) 2.5函数命名 (10) 2.6参数命名 (11) 第三章注释 (12) 3.1文档化注释 (12) 3.2语句块注释 (17) 3.3代码维护注释 (20) 第四章编码风格 (22) 4.1排版风格 (22) 4.2头文件 (26) 4.3宏定义 (27) 4.4变量与常量 (30) 4.5条件判断 (32) 4.6空间申请与释放 (33) 4.7函数编写 (33) 4.8类的编写 (37) 4.9异常处理 (40) 4.10特殊限制 (40) 第五章编译 (41) 第六章ESQL/C编码 (46) 第二篇JAVA编码规范 (47) 第一章代码组织 (48) 第二章命名 (51) 2.1包命名 (51) 2.2类命名 (51) 2.3接口命名 (51) 2.4方法命名 (51) 2.5变量命名 (51) 2.6类变量命名 (52) 2.7常量命名 (52) 2.8参数命名 (52) 第三章注释 (53) 3.1文档化注释 (53) 3.2语句块注释 (57) 3.3代码维护注释 (59) 第四章编码风格 (61) 4.1排版风格 (61) 4.2包与类引用 (66) 4.3变量与常量 (66) 4.4类编写 (67) 4.5方法编写 (68)</p><p>4.6异常处理 (71) 4.7特殊限制 (71) 第五章编译 (73) 第六章JSP编码 (74) 6.1文件命名及存放位置 (74) 6.2内容组织 (74) 6.3编码风格 (76) 6.4注释 (78) 6.5缩进与对齐 (78) 6.6表达式 (79) 6.7JavaScript (79) 第三篇POWERBUILDER编码规范 (80) 第一章代码组织 (81) 第二章命名 (82) 2.1文件命名 (82) 2.2对象命名 (82) 2.3变量命名 (84) 2.4常量命名 (85) 2.5函数与事件命名 (85) 2.6参数命名 (85) 第三章注释 (85) 3.1文档化注释 (85) 3.2语句块注释 (88) 3.3代码维护注释 (88) 第四章编码风格 (89) 4.1界面风格 (89) 4.2排版风格 (93) 4.3变量与常量 (95) 4.4条件判断 (96) 4.5空间申请与释放 (97) 4.6函数编写 (97) 4.7特殊限制 (97) 第五章SQL编码 (98)</p><h2>软件项目https://www.doczj.com/doc/4718740781.html,编码规范-模板</h2><p>.NET编码规范 .NET编码规范 版本:V1.0</p><p>.NET编码规范 目录 1介绍 (1) 1.1目的 (1) 1.2范围 (1) 1.3参考文档 (1) 2规范概述 (1) 3规范详述 (1) 3.1文件组织 (1) 3.1.1源文件 (1) 3.1.2目录安排 (2) 3.2缩进 (2) 3.2.1分行 (2) 3.2.2空白 (2) 3.3注释 (3) 3.3.1块注释 (3) 3.3.2单行注释 (3) 3.3.3文档注释 (3) 3.4变量声明 (4) 3.4.1每行声明的数量 (4) 3.4.2初始化 (4) 3.5类和接口的声明 (4) 3.6命名约定 (5) 3.6.1大写风格 (5) 3.6.2命名规则 (6) 3.6.3class,struct和namespace命名规则 (6) 3.6.4interface命名规则 (6) 3.6.5enum命名规则 (6) 3.6.6域命名规则 (7) 3.6.7参数命名规则 (7) 3.6.8变量命名规则 (7)</p><p>.NET编码规范 3.6.9方法命名规则 (7) 3.6.10属性命名规则 (7) 3.6.11事件命名规则 (8) 3.7代码细节规范 (8)</p><p>1 介绍 1.1 目的 本文件的目的是描述用.NET编写代码过程中应遵循的规范,以确保编写出强壮可靠、符合规范的应用程序。虽然这里的代码示例是用C#编写的,但如果使用另外一种编程语言,其中的大多数规则和原理也是适用的。对于.net开发人员,应力求遵守此文档中的规范,代码审查时,此文档将作为重要的参考依据。 1.2 范围 本文件适用于用.NET来实现的软件产品在编码实现过程中应遵循的规范。 1.3 参考文档 [说明本文件的参考文档。] 2 规范概述 本规范为实现过程中用.NET来进行编码时应遵循的规范,主要内容包括:文件组织、缩进、注释、变量声明、类和接口的声明、命名约定及代码细节规范。 在实现过程中的编码实现,代码走查活动中使用到此规范。 3 规范详述 3.1 文件组织 3.1.1 源文件 把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。严禁将多个命名空间/类放在同一个源文件中(https://www.doczj.com/doc/4718740781.html,自动生成的除外)。</p><h2>ERP编码原则(范例)</h2><p>ERP编码方案 一目的: 为了适应公司网络化的发展,使物料分类、编码标准统一,使ERP管理软件的实施运用有一个必备的基础,特制定此物料编码规则。 二适用范围及定义: 适用于公司所有产品, 所包含如下的内容:成品、半成品、原材料、客供料、外协料、辅料、其它 定义: 成品:在生产车间已包装的产品; 半成品:在公司生产车间或外协工厂至少经过一道加工工序后,需要入库登记帐的零件总称; 原材料:直接从外供应商购买且用于加工生产成品的主要生产材料; 外协件:1.在本公司没有加工工艺而需外协厂商配合第二次以上加工; 2.当外协件与原材料冲突时, 以外协件编码方式编码; 3.当原材料和外协料有冲突时,依原材料为准。 客供料:1)在满足客户订单产品的生产过程中,需用到客户提供的原材料; 2)为满足客户的供货运输需要,需要将客户所订其它公司的货品暂存公司仓库的成品或物料; 辅料:直接或间接用于产品的生产实施过程上,包括包装贮运过程,但用量不可定量的物料; 其它:在无法定义所属类别属性时的一个范围。 三权责: 3.1 推行小组:负责物料编码规则的制定、解释以及增补修订; 3.2 开发中心:a. 负责按编码规则对新物料编号并建立BOM及资料文档; b. 对编码有统一的行使操作权; 3.3 其它部门:严格按技术部的物料编码管理、使用物料,给出建议性意见; 四编码总则: 4.1 坚持一种物料对应一个编码; 4.2 编码有章可循,不会重复,便于实施; 4.3 编码应留有足够的可扩充空间,且有必要加以增加新规定时,被规定种类的物料已由原规则给定编码的,仍 然给用,新规定只适用于该种类新物料的编码; 4.4 编码应具有最大程度的直观性,便于查找、识别; 4.5 编码规则作修改时,应不影响以往的编码体系,避免同一物料重复编码; 4.6 编码由开发中心专人统一编码,同一物料只能有唯一的编码; 4.7 五成品编码说明:(A:表示字母;N:表示数字) 5.1针对止退片类: (1)编码第一位为产品大类码,对照表如下: (2)编码第二位为产品性质码,当编码第一位的编号是(1~2)成品的时候, 对照表如下:</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="19028097"><a href="/topic/19028097/" target="_blank">设计和编码规范</a></li> <li id="20478306"><a href="/topic/20478306/" target="_blank">程序编码规范</a></li> <li id="9653371"><a href="/topic/9653371/" target="_blank">软件设计编码规范</a></li> <li id="4259722"><a href="/topic/4259722/" target="_blank">软件编码设计标准规范</a></li> <li id="1540180"><a href="/topic/1540180/" target="_blank">各种规范标准及其编号</a></li> <li id="1629556"><a href="/topic/1629556/" target="_blank">net编码规范</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/2f1542986.html" target="_blank">设计用的国家标准</a></li> <li><a href="/doc/4214524225.html" target="_blank">软件设计编码规范</a></li> <li><a href="/doc/868104374.html" target="_blank">软件界面设计及编码标准规范</a></li> <li><a href="/doc/b914995411.html" target="_blank">产品图样及设计文件 编号规则JB T5054.4</a></li> <li><a href="/doc/0511645507.html" target="_blank">数据库设计和编码规范</a></li> <li><a href="/doc/fd3303756.html" target="_blank">软件设计编码规范精编版</a></li> <li><a href="/doc/2c18146273.html" target="_blank">软件编码设计标准规范</a></li> <li><a href="/doc/676627826.html" target="_blank">程序设计和编码规范</a></li> <li><a href="/doc/9517479527.html" target="_blank">设计资料的命名及编号规则</a></li> <li><a href="/doc/d317946261.html" target="_blank">软件界面设计及编码标准规范模板</a></li> <li><a href="/doc/1518839468.html" target="_blank">软件设计编码规范</a></li> <li><a href="/doc/3216739274.html" target="_blank">数据库设计和编码规范</a></li> <li><a href="/doc/80691067.html" target="_blank">软件编码设计标准规范</a></li> <li><a href="/doc/a217650446.html" target="_blank">软件设计编码规范</a></li> <li><a href="/doc/f1913229.html" target="_blank">软件设计编码规范标准[详]</a></li> <li><a href="/doc/2917656732.html" target="_blank">数据库设计规范编码规范</a></li> <li><a href="/doc/6b1562195.html" target="_blank">编号规则功能详细设计(2014版)(1)</a></li> <li><a href="/doc/967879359.html" target="_blank">单片机程序设计编程规范</a></li> <li><a href="/doc/d812332818.html" target="_blank">产品图样及设计文件资料编号规则</a></li> <li><a href="/doc/1017941361.html" target="_blank">软件编码设计标准规范</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "4fa347ff31b765ce0408143d"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>