• C#编程规范


    C#编程规范

    1      命名规范制定意义

       1 方便代码的交流和维护,便于日后自己的再次阅读。
       2
    不影响编码的效率,不与大众习惯冲突。
       3
    使代码更美观、阅读更方便。
       4
    使代码的逻辑更清晰、更易于理解

    2      命名规范制定原则

    首要原则

    有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了

    1. 除约定俗成的,别用缩写。用name, address, salary等代替 nam, addr, sal

    2. 除用于循环,别使用单个字母的变量象i, n, x 等. 而要使用 index, temp等。
    for ( int i = 0; i < count; i++ ){ ...}

    其他习惯

     除了界面控件外,不要使用类型前缀。比如:使用名称amount,而不是 intAmount;

     类:使用名词、名词短语命名。比如:public class FileStream;

     方法:使用动词、动词短语开始。比如:CreateUser(), RemoveAt()等;

     接口:以 I 开始,后面加上名词、名词短语、形容词命名。比如:IDisposable;

     常量:所有单词大写,多个单词之间用 "_" 隔开。public const string PAGE_TITLE = "Welcome";

     命名空间: 基本格式:

    CompanyName/ProjectName.TechnologyName[.Feature][.Design]

    a) CompanyName/ProjectName:公司名、项目名称或产品名称;

    b) TechnologyName:稳定的、公认的技术名称或架构层次名称;

    c) [.Feature][.Design]:可选的功能与设计;

    3      规范

    1、用pascal规则来命名方法和类.(第一个单词首字母大写,后面连接的每个单词首字母都大写)
    public class DataBase 
    public void GetDataTable()
    2
    、类:使用名词、名词短语命名。比如:public class FileStream
    2.
    camel规则来命名局部变量和方法的参数. (第一个单词不大写,后面连接的单词首字母大写
    public void AddUser(string userId, byte[] password)
    { string userName;}

    3.
    所有的成员变量前加前缀 _ 
    public class Database 
    { private string _connectionString; } 

    4.
    接口的名称加前缀 I
    interface ICompare 
    { int compare(); }

    5.
    自定义代码属性类以Attribute结尾
    public class OperationAttribute : Attribute 

    6.
    自定义的异常以Exception结尾 
    public class AppException : Exception 
    7.
    方法的命名.一般将其命名为动宾短语,动词+对象
    GetRecordData();GetPath();CreateFile();
    8.
    代码的缩进.要用Tab,而不要用space.
    9.
    使用带有说明性的变量名。
      (a)避免单字符串的变量名,使用类似于indextemp这样有意义的名字。
      (b)对于publicprotected类型的变量避免使用匈牙利表示法。
      (c)不要缩写单词。
    10.
    所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开.
    11.
    用有意义的名字命名namespace,如:产品名、公司名
    12.
    建议局部变量在最接近使用它时再声明
    13.
    使用某个控件的值时,尽量命名局部变量
    14.
    把引用的系统的namespace和自定义或第三方的用一个换行把它们分开
    15.
    文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类
    16.
    目录结构中要反应出namespace的层次.
    17.
    大括号"{"要新起一行 .
    18.
    在和你的代码缩进处于同一个级别处为该行代码添加注释

    4      提示语规范

    1.       提示语中不要出现“你”,而应用尊称“您”。

    2.       提示语中不要出现感叹号“!”,结尾一律用句号“。”

    3.       提示语应尽量友好,提示原则是:先给出提示信息,然后给出建议或原因。比如:“你不能添加新的用户,只有系统管理员才能添加用户。” 前半句给出提示信息,后半句给出原因。

    4.       页面中所有出现用户不太好理解的地方都应该给出相应的提示信息,给用户以帮助。比如:在项目请款按钮后面加提示信息:(提示:只有添加请款明细之后才能点击此按钮进行请款。)

    5       控件命名

    控件的名称中需要加上前缀,之所以这样做是为了区分界面的控件和普通的对象,由于界面修改往往非常频繁,区分开来能使你更快速的找到控件,从而修改界面。举一个例子:

    界面有10TextBox10Label。一个TextBox对应一个Label,为了完成读写,你至少要有20条语句来从控件进行取、赋值操作,如果有前缀的话,输入this.txt,你就几乎马上能找到这个控件。反之,如果没有前缀,由于窗口或页面对象拥有大量的属性和变量(>100个),你将花费大量时间来查找。另外一个TextBox对应一个Label(一个代表值,一个代表名称),它们往往指同一样事物,如果有前缀,就很容易区分这两个控件。

    控件

    前缀

    控件

    前缀

    Label

    lbl

    CompareValidator

    cv

    TextBox

    txt

    RangeValidator

    rv

    Button     

    btn

    RegularExpressionValidator

    rev

    CheckBox

    chk

    ValidatorSummary 

    vs

    RadioButton

    rdo

    GridView

    gv

    CheckBoxList

    cbl

    MultiView

    mv

    RadioButtonList

    rbl

    View

    vw

    ListBox

    lst

    HiddenField

    hf

    DropDownList

    ddl

    DataGrid 

    dg

    DataList

    dl

    Image 

    img

    Table   

    tbl

    Panel        

    pnl

    LinkButton

    lbt

    ImageButton  

    imgbtn

    Calender

    cld

    RequiredFieldValidator 

    rfv

    6      注释规范

    类注释:

    Create by       : Peter Cheng

    Create Date     : 2003-7-23

     Description     : // 模块描述

    方法注释:

    /// <summary>

        /// 根据查询条件获得收货单的查询结果

        /// </summary>

        /// <param name="strCreator">采购商务员id</param>

        /// <param name="strVendorId">供应商id</param>

        /// <returns>查询结果数据集</returns>

    代码中间注释:

    // 2011-5-1 qf 添加功能:xxx

    //2011-5-1 qf 修改功能:xxx

    关键代码注释

    //

  • 相关阅读:
    PHP thinkPHP6.0 部署
    ch09 Sql导入语句
    自定义map 搜索
    MySql 语句
    自定义Mappter
    三袋米的故事
    WPF中实现文件夹对话框(OpenFileDialog in WPF)
    web通过Ajax与WCF交互
    项目管理之我见-程序员程序开发步骤
    存储过程
  • 原文地址:https://www.cnblogs.com/qqflying/p/2033943.html
Copyright © 2020-2023  润新知