ASP.NET 开发规范 第三章 注释

第三章 程序注释

3.4   注释概述

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

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

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

4 、避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。

5 、避免在块注释的周围加上印刷框。这样看起来可能很漂亮,但是难于维护。

6 、在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。

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

8 、在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。

9 、在编写代码时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。

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

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

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

13 、为了防止问题反复出现,对错误修复和解决方法代码总是使用注释,尤其是在团队环境中。

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

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

16 、用空白将注释同注释分隔符分开。在没有颜色提示的情况下查看注释时,这样做会使注释很明显且容易被找到。

17 、在所有的代码修改处加上的注释。

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

    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

3.5   注释标签

    

标签

用法

作用

<c>

c>text</c>

 

text 希望将其指示为代码的文本。

为您提供了一种将说明中的文本标记为代码的方法。使用 <code> 将多行指示为代码

<para>

<para>content</para>

content段落文本。

用于诸如 <remarks><returns> 等标记内,使您得以将结构添加到文本中。

<param>

<param name='name'>description</param>

name 为方法参数名。将此名称用单引号括起来 (' ')

应当用于方法声明的注释中,以描述方法的一个参数。

<paramref>

 

<paramref name="name"/>

 

name

要引用的参数名。将此名称用双引号括起来 (" ")。

<paramref> 标记为您提供了一种指示词为参数的方法。可以处理 XML 文件,从而用某种独特的方法格式化该参数。

<see>

<see cref="member"/>

 

cref = "member" 对可以通过当前编译环境进行调用的成员或字段的引用。编译器检查到给定代码元素存在后,将 member 传递给输出 XML 中的元素名。必须将 member 括在双引号 (" ") 中。

使您得以从文本内指定链接。使用 <seealso> 指示希望在请参阅一节中出现的文本。

<seealso>

<seealso cref="member"/>

 

cref = "member" 对可以通过当前编译环境进行调用的成员或字段的引用。编译器检查到给定代码元素存在后,将 member 传递给输出 XML 中的元素名。必须将 member 括在双引号 (" ")

使您得以指定希望在请参阅一节中出现的文本。使用 <see> 从文本

<example>

<example>description</example>

 

description

代码示例的说明。

使用 <example> 标记可以指定使用方法或其他库成员的示例。一般情况下,这将涉及到 <code> 标记的使用。

<code>

<code>content</code>

 

content 为希望将其标记为代码的文本。

 

记为您提供了一种将多行指示为代码的方法。使用 <c> 指示应将说明中的文本标记为代码

<summary>

<summary>description</summary>

 

此处description 为对象的摘要。

应当用于描述类型成员。使用 <remarks> 以提供有关类型本身的信息。

<exception>

<exception cref="member">description</exception>

cref = "member" 对可从当前编译环境中获取的异常的引用。编译器检查到给定异常存在后,将 member 转换为输出 XML 中的规范化元素名。必须将 member 括在双引号 (" ") 中。

description 说明。

<exception> 标记使您可以指定类能够引发的异常。

<include>

<include file='filename' path='tagpath[@name="id"]' />

filename 包含文档的文件名。该文件名可用路径加以限定。将 filename 括在单引号中 (' ')。

Tagpathfilename 中指向标记名的标记路径。将此路径括在单引号中 (' ')

name 注释前边的标记中的名称说明符;名称具有一个 id

id

位于注释之前的标记的 id。将此 id 括在双引号中 (" ")

<include> 标记使您得以引用描述源代码中类型和成员的另一文件中的注释。这是除了将文档注释直接置于源代码文件中之外的另一种可选方法。

<include> 标记使用 XML XPath 语法。有关自定义 <include> 使用的方法,请参阅 XPath 文档。

<list>

<list type="bullet" | "number" | "table">

   <listheader>

      <term>term</term>

      <description>description</description>

   </listheader>

   <item>

      <term>term</term>

      <description>description</description>

   </item>

</list>

term  定义的项,该项将在 text 中定义。

 

description  目符号列表或编号列表中的项或者 term 的定义。

<listheader> 块用于定义表或定义列表中的标题行。定义表时,只需为标题中的项提供一个项。

列表中的每一项用 <item> 块指定。创建定义列表时,既需要指定 term 也需要指定 text。但是,对于表、项目符号列表或编号列表,只需为 text 提供一个项。

列表或表所拥有的 <item> 块数可以根据需要而定。

<permission>

<permission cref="member">description</permission>

cref = "member" 对可以通过当前编译环境进行调用的成员或字段的引用。编译器检查到给定代码元素存在后,将 member 转换为输出 XML 中的规范化元素名。必须将 member 括在双引号 (" ") 中。

 

description  成员的访问的说明。

<permission> 标记使您得以将成员的访问记入文档。System.Security.PermissionSet 使您得以指定对成员的访问。

<remarks>

<remarks>description</remarks>

 

description 成员的说明。

<remarks> 标记是可以指定有关类或其他类型的概述信息的位置。<summary> 是可以描述该类型的成员的位置。

<returns>

<returns>description</returns>

 

description 返回值的说明。

<returns> 标记应当用于方法声明的注释,以描述返回值。

<value>

<value>property-description</value>

 

property-description 属性的说明。

<value> 标记使您得以描述属性。请注意,当在 Visual Studio .NET 开发环境中通过代码向导添加属性时,它将会为新属性添加 <summary> 标记。然后,应该手动添加 <value> 标记以描述该属性所表示的值。

 

 

 

posted @ 2007-08-24 16:43  许文  阅读(1375)  评论(0编辑  收藏  举报