zoukankan      html  css  js  c++  java
  • C#代码规范整理

    命名规范制定意义

    1. 方便代码的交流和维护,便于日后自己的再次阅读。

    2. 不影响编码的效率,不与大众习惯冲突。

    3. 使代码更美观、阅读更方便。

    4. 使代码的逻辑更清晰、更易于理解。


    名词解释

    Pascal:帕斯卡命名,每个单词第一个字母大写

    Camel :驼峰命名,第一个单词字母小写,其余单词第一个大写


    总结表:

    标识符

    大小写

    样例

    说明

    命名空间

    Pascal

    namespace System.Security {

    }

    用有意义的名字命名 namespace,如:产品名、公司名

    Pascal

    public class StreamReader {

    }

    使用名词、名词短语命名

    接口

    Pascal

    public interface IEnumerable {

    }

    以 I 开始,后面加上名词、名词短语、形容词命名。

    字段 ( 私有、保护 )

    Camel

    private string userName;

    第一个单词小写,后面连接的单词首字母大写

    字段 ( 公共、静态 )

    Pascal

    public static readonly string UserId ;

    属性

    Pascal

    private int length;

    public int Length { get; }

    字段private且小写,然后属性public大写

    枚举

    Pascal

    enum FileMode {

    Append,

    }

    事件

    Pascal

    public event EventHandler Exited ;

    方法

    Pascal

    public string ToString ();

    一般将其命名为动宾短语, “动词+对象 ”.

    参数

    Camel

    public static int ToInt32(string userId );


    基础数据类型命名

    数据类型

    标准命名举例

    array

    arrShoppingList

    bool

    isPostBack

    string

    strFirstName

    int

    intId

    DateTime

    dtmStartDate

    object

    objDog

    上面是常用的数据类型


    注意事项:

    序号

    说明

    示例

    1

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

    2

    除用于循环,别使用单个字母的变量象 i, n, x 等. 而要使用 index, temp 等

    for ( int index = 0; index < count; index++ ){ ...}

    3

    自定义的异常以 Exception结尾

    public class AppException : Exception

    4

    代码的缩进 .要用 Tab,而不要用 space.

    5

    所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开

    6

    建议局部变量在最接近使用它时再声明 .

    7

    文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类

    8

    大括号 "{"要新起一行

    9

    单独方法要加注释

    /// <summary>

    /// 根据id获得姓名

    /// </summary>

    /// <param name="id">检索的id</param>

    /// <returns></returns>

    public string GetName(int id)

    {

    return "xiaomi";

    }

    10

    不要对字段名或静态字段名应用前缀。 具体说来, 不要对字段名称应用前缀来区分静态和非静态字段。

    例如,应用 g_ 或 s_ 前缀是不正确的。

    11

    避免容易被主观解释的难懂的名称

    方法名 AnalyzeThis() ,或者属性名 xxK8。这样的名称会导致多义性。

    12

    在类属性的名称中包含类名是多余的

    如 Book.BookTitle 。而是应该使用 Book.Title

    13

    只要合适,在变量名的末尾或开头加计算限定符

    ( Avg、Sum、Min、Max、Index )

    14

    在变量名中使用互补对

    如 min/max 、begin/end 和 open/close

    15

    布尔变量名应该包含 Is ,这意味着 Yes/No 或 True/False 值

    fileIsFound

    16

    在命名状态变量时,避免使用诸如 Flag 的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值

    不是使

    用 documentFlag ,而是使用更具描述性的名称,如 documentFormatType 。 (此项只供参考)

    17

    用于事件处理的委托添加 “EventHandler ”后缀

    public delegate void MouseEventHandler(object sender, MouseEventArgs e);

    18

    用于事件处理之外的那些委托添加 “Callback ”后缀

    19

    不要给委托添加 “Delegate ”后缀

  • 相关阅读:
    点击CheckBox让Gridview控件在编辑与正常状态之间切换
    BMP图片转换为JPEG图片
    ASP.NET截取网页注释行之间的内容
    Mouse点击之后,复制GridView控件的数据行
    Mouse单击高亮GridView数据行
    ASP.NET div信息提示框显示几秒后隐藏
    RDLC报表带搜索与传参数功能演示(ASP.NET MVC)
    ASP.NET MVC应用程序使用axd格式文件
    Nginx通过geo模式实现限速白名单和全局负载均衡
    MySQL 下mysqladmin日常管理命令总结
  • 原文地址:https://www.cnblogs.com/01zxs/p/10838913.html
Copyright © 2011-2022 走看看