C#编程规范 下载本文

} // end forever

3 程序注释

3.1 注释概述

1) 修改代码时,总是使代码周围的注释保持最新。

2) 在每个例程的开始,提供标准的注释样本以指示例程的用途、假设和限制很有帮助。注释样本应该是解释它为什么存在和可以做什么的简短介绍.

3) 避免在代码行的末尾添加注释;行尾注释使代码更难阅读。不过在批注变量声明时,行尾注释是合适的;在这种情况下,将所有行尾注释在公共制表位处对齐。 4)

5) 避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。 在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。

6) 如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。尽一切可能不注释难以理解的代码,而应该重写它。尽管一般不应该为了使代码更简单以便于人们使用而牺牲性能,但必须保持性能和可维护性之间的平衡。 7)

8) 在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。 在编写代码时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。

9) 避免多余的或不适当的注释,如幽默的不主要的备注。

10) 使用注释来解释代码的意图。它们不应作为代码的联机翻译。

11) 注释代码中不十分明显的任何内容。

12) 为了防止问题反复出现,对错误修复和解决方法代码总是使用注释。

13) 对由循环和逻辑分支组成的代码使用注释。这些是帮助源代码读者的主要方面。

14) 在整个应用程序中,使用具有一致的标点和结构的统一样式来构造注释。

15) 在所有的代码修改处加上修改标示的注释。

16) 为了是层次清晰,在闭合的右花括号后注释该闭合所对应的起点。

namespace Langchao.Procument.Web

{

} // namespace Langchao.Procument.Web

3.2 文档型注释

该类注释采用.Net已定义好的Xml标签来标记,在声明接口、类、方法、属性、字段都应该使用该类注释,以便代码完成后直接生成代码文档,让别人更好的了解代码的实现和接口。如

///<summary>MyMethod is a method in the MyClass class.

///<para>Here's how you could make a second paragraph in a description. ///<see cref="System.Console.WriteLine"/>

///for information about output statements.

///</para>

///<seealso cref="MyClass.Main"/>

///</summary>

public static void MyMethod(int Int1)

{

}

3.3 类c注释

该类注释用于

1) 不再使用的代码。

2) 临时测试屏蔽某些代码。

用法

/*

[修改标识]

[修改原因]

. . . (the source code )

*/

3.4 单行注释

该类注释用于

1) 方法内的代码注释。如变量的声明、代码或代码段的解释。注释示例: //

// 注释语句

//

private int number;

// 注释语句

private int number;

2) 方法内变量的声明或花括号后的注释, 注释示例:

if ( 1 == 1) // always true

{

statement;

} // always true

4 申明

4.1 每行声明数

一行只建议作一个声明,并按字母顺序排列。如:

int level; //推荐

int size; //推荐

int x, y; //不推荐

4.2 初始化

建议在变量声明时就对其做初始化。

4.3 位置

变量建议置于块的开始处,不要总是在第一次使用它们的地方做声明。如: void MyMethod()

{

int int1 = 0; // beginning of method block

if (condition)

{

int int2 = 0; // beginning of "if" block ...

}

}

不过也有一个例外:

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

{

...

}

应避免不同层次间的变量重名,如:

int count;

...

void MyMethod()

{

if (condition)

{

int count = 0; // 避免

...