• C# 编码标准(三)


    一、代码注释

    1、文档型注释

    该类注释采用.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>

    publicstaticvoid MyMethod(int parameter)

    {

    }

    注:此功能在.net的开发环境中的方法或类定义的上一行写入”///”后,系统会根据方法的声明自动生成相关的注释模板,推荐使用此方式对方法属性等添加相关的注释

    二、单行注释

    该类注释用于方法内的代码注释。如变量的声明、代码代码段的解释。

    【示例】:  

    // 注释语句----------------中间保留一个空格

    privateint number;

    三、 注释标签

    标签

    用法

    作用

    <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 括在单引号中 (' ')。

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

    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> 标记以描述该属性所表示的值。

     四、变量声明

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

    int level;   //推荐
    int size;    //推荐
    int x, y;    //不推荐

    五、命名方法

    1.所有的命名(包括标识符,类,接口,函数等等)使用有意义的英文标识符,不允许使用汉语拼音,也不允许使用中文作为各种命名。
    2.避免容易被主观解释的难懂的名称,如方面名 AnalyzeThis(),或者属性名 xxK8。这样的名称会导致多义性。
    3、在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.Title。
    4、只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)
    5、在变量名中使用互补对,如 min/max、begin/end 和 open/close。 
    6、布尔变量名表示是否时可以包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。
    7、即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。

    六、附录
    1、控件相关命名,红色是常用控件

    控件名

    简写

    控件名

    简写

    Label

    lbl

    TextBox

    txt

    Button

    btn

    LinkButton

    lnkbtn

    ImageButton

    imgbtn

    DropDownList

    ddl

    ListBox

    lst

    DataGridView

    dgv

    DataList

    dl

    CheckBox

    chk

    CheckBoxList

    chkls

    RadioButton

    rdo

    RadioButtonList

    rdolt

    Image

    img

    Panel

    pnl

    Calender

    cld

    AdRotator

    ar

    Table

    tbl

    RequiredFieldValidator

    rfv

    CompareValidator

    cv

    RangeValidator

    rv

    RegularExpressionValidator

    rev

    ValidatorSummary

    vs

    CrystalReportViewer

    rptvew

    ListView

    lst

    DataGrid

    dg

    2 常见集合类型后缀命名

    凡符合下表所列的集合类型,应添加相应的后缀。

    说明 后缀     示例
    数组 Array 或 s int[] productArray 或 int[] products  
    列表 List 或 s List<Product> productList 或 List<Product> products  
    DataTable/HashTable Table HashTable productTable  
    字典 Dictionary 或 Dic Dictionay<string,string> productDictionary 或 Dictionay<string,string> productDic  
    DbSet /DataSet Set 或DataSet DbSet<Product> productSet 或 DbSet<Product> productDataSet  
    集合 Coll 或 s 或 Collection TableCollection tables 或 TableCollection tableColl 或 TableCollection tableCollection

    3、常见后缀命名

    凡符合下表所列的局部变量、方法参数、字段、属性,均需添加相应的后缀。

    后缀 示例 示例说明
    费用相关 Cost ShipCost 运输费
    价格相关 Price ProductUnitPrice 产品单价
    消息相关 Message SuccessMessage 成功消息
    日期相关 Date OrderDate 下单日期
    计数、数量相关 Count LoginCount 登录次数
    链接地址相关 Url BlogUrl 博客链接
    图片相关 Image SignImage 签名图片
    金额相关 Amount PrepaidAmount 预付款
    点数、积分相关 Point MemberPoint 会员积分
    记录相关 Record ErrorRecord 错误记录
    配置相关 Config DataBaseConfig 数据库配置
    状态相关 Status OrderStatus 订单状态
    模式、方式相关 Mode OpenMode 打开方式
    种类相关 Category / Type(类型) / Class 三选一 UserCategory 用户种类
    工厂类相关 Factory ConnectionFactory 连接工厂
    启用相关 Enabled ExportEnabled 开启导出
    流相关 Stream UploadStream 上传流
    读取器相关 Reader ExcelReader Excel读取器
    写入器相关 Writer ExcelWriter Excel写入器
    适配器相关 Adapter IntroOPAdapter IntroOP适配器
    提供器相关 Provider MemebershipProvider 会员信息提供器
    包装器相关 Wrapper ProductWrapper Product包装器
    连接相关 Connection ExcelConnection Excel连接

     4、常见类型命名

    凡存在下表中的类型,需采用下表指定的名称命名。

    命名 类型 命名
    客户 Customer 分销商 Reseller
    零售商 Retailer 经销商/批发商 Dealer
    用户 user 订单 Order
    供应商 Supplier 管理员 Admin
    密码 Password 会员 Member
    评论 Remark 文章 Article
    新闻 News 发票 Invoice
    导入 Import 导出 Export
    公司、企业 Company 产品 Product
    省份 Province 城市 City
    区县 District 地址 Address
    角色 Role 权限 Authority
    仓库 Warehouse 工厂 Plant
    登录 Login 登出 LogOut
    创建 Create 编辑 Edit
    更新 Update 删除 Remove
    照片 Photo 图片 Image

    5、 常见字段,属性命名

    字段、属性种类比较繁杂,因此仅列出最常用的几项。

    名称 类型 名称
    Id(int型) Id(“d”小写,弃用ID) GuidId(Guid型) Id
    Name 名称 Title 标题
    Remark 备注、描述(弃用Memo、Description) Category 种类(弃用Class、Type)

     上面的一些命名引用了张子阳等一些人的文档,以后再慢慢补充丰富起来。不早了,今晚得睡觉了。

  • 相关阅读:
    14-深度学习-卷积
    13-垃圾邮件分类2
    12-朴素贝叶斯-垃圾邮件分类
    11-分类与监督学习,朴素贝叶斯分类算法
    9-主成分分析
    8-特征选择
    7-逻辑回归实践
    6-逻辑回归
    2020安天杯-web的一点小思路
    攻防世界进阶--upload1
  • 原文地址:https://www.cnblogs.com/cang/p/4214310.html
Copyright © 2020-2023  润新知