zoukankan      html  css  js  c++  java
  • C# 编程规范

    一、命名

      1.用pascal规则来命名方法和类型。

      public class TextBox

      {

      public void DataBind()

      {

      }

      }

      2.用camel规则来命名局部变量和方法的参数。

      string userName;

      public AddUser(string userId, byte[] password);

      3.所有的成员变量前加前缀 _

      public class Database

      {

      private string _connectionString;

      }

      4.接口的名称加前缀 I.

      interface ICompare

      {

      int compare();

      }

      5.自定义的属性以Attribute结尾

      public class AuthorAttribute : Attribute

      {

      }

      6.自定义的异常以Exception结尾

      public class AppException : Exception

      {

      }

      7.方法的命名。一般将其命名为动宾短语。

      ShowDialog()

      CreateFile()

      GetPath()

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

      9.局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。

      string userName

      10.所有的成员变量声明在类的顶端,用一个换行把它和方法分开。

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

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

      13.使用某个控件的值时,尽量命名局部变量。

      14.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开。

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

      16.目录结构中要反应出namespace的层次。

      17.大括号"{"要新起一行。

      public class AuthorAttribute : Attribute

      {

      }

    二、编码习惯。

      1.用C#预定义的类名,而不要用别名。

      string userName;   而不是 System.String userName;

      int number;            而不是 System.Int32;

      2.一行不要超过80个字符。

      3.尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样。

      4.关键的语句(包括声明关键的变量)必须要写注释。

      5.文字常量和数字常量不要硬编码,应该用常量类或枚举代替。

      6.不准使用goto系列语句。

      7.不要声明public和protected的成员变量,应用property.

      8.不要声明public的event,应用事件访问器。

      public class Source

      {

      private EventHandler m_NumberChangeEvent;

      public event EventHandler NumberChangeEvent

      {

      add

      {

      m_NumberChangeEvent += value;

      }

      remove

      {

      m_NumberChangeEvent -= value;

      }

      }

      }

      9.类型转换的使用规则。

      Animal animal = new Dog();

      Dog dog = animal as Dog;

      if (dog != null)

      {

      }

      10.生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string.

      11.始终使用"{  }"包含if下的语句,即使只有一条语句。

      12.switch语句一定要有default来处理意外情况。

      13.尽量少使用三目运算符 ? : ,而要使用if语句。

      14.尽量不用使用this引用,除非是要调用类中的另一个Constructor.

      public class Person

      {

      public Person(string name)

      {

      }

      public Person() : this("Jim")

      {

      }

      }

    二、编码习惯。

      1.用C#预定义的类名,而不要用别名。

      string userName;   而不是 System.String userName;

      int number;            而不是 System.Int32;

      2.一行不要超过80个字符。

      3.尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样。

      4.关键的语句(包括声明关键的变量)必须要写注释。

      5.文字常量和数字常量不要硬编码,应该用常量类或枚举代替。

      6.不准使用goto系列语句。

      7.不要声明public和protected的成员变量,应用property.

      8.不要声明public的event,应用事件访问器。

      public class Source

      {

      private EventHandler m_NumberChangeEvent;

      public event EventHandler NumberChangeEvent

      {

      add

      {

      m_NumberChangeEvent += value;

      }

      remove

      {

      m_NumberChangeEvent -= value;

      }

      }

      }

      9.类型转换的使用规则。

      Animal animal = new Dog();

      Dog dog = animal as Dog;

      if (dog != null)

      {

      }

      10.生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string.

      11.始终使用"{  }"包含if下的语句,即使只有一条语句。

      12.switch语句一定要有default来处理意外情况。

      13.尽量少使用三目运算符 ? : ,而要使用if语句。

      14.尽量不用使用this引用,除非是要调用类中的另一个Constructor.

      public class Person

      {

      public Person(string name)

      {

      }

      public Person() : this("Jim")

      {

      }

      }

    TraceBack:http://dotnet.chinaitlab.com/CSharp/735681.html

  • 相关阅读:
    【转】Java集合框架面试问题集锦
    【转】Hibernate面试问题集锦: 概述
    【转】常见Java面试题 – 第四部分:迭代(iteration)和递归(recursion)
    【转】常见Java面试题 – 第三部分:重载(overloading)与重写(overriding)
    【转】常见Java面试题 – 第二部分:equals与==
    【转】常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)
    【转】你应该关注的几个Eclipse超酷插件
    【转】Eclipse插件收藏列表
    【转】最受欢迎的8位Java牛人
    【转】改进异常处理的6条建议
  • 原文地址:https://www.cnblogs.com/hdjjun/p/1223864.html
Copyright © 2011-2022 走看看