C# Coding Standard

原创 2005年03月04日 09:30:00

         在以前版本的Visual Studio,微软曾建议使用匈牙利命名法来写代码.在最近发布的.NET和它的编程语言中,微软更换了他的这一法则.

1.       对格式与方法名称使用PASCAL风格[1]

       public class SomeClass

       {

             public SomeMethod(){}

       }

2.       对局部变量和方法参数使用Camel风格[2]

       int number;

       void MyMethod(int someNumber)

       {}

3.       使用I作为接口前缀

       interface IMyInterface

       {..}

4.       使用m_作为私有成员变量前缀

       public class SomeClass

       {

          private int m_Number;

       }

5.       使用Attribute作为自定义属性类的后缀

6.       使用Exception作为自定义异常处理类的后缀

7.       使用动词形式命名方法名,ShowDialog()

8.       带有返回值的方法应该有一个方法来描述返回值,GetObjectStatus()

9.       使用易描述的变量名称

l         避免使用单一字符描述变量名称,it.应使用indextemp替代

l         对共有以及受保护成员避免使用匈牙利命名法则[3]

l         绝不使用缩写字符,如使用num代替number

10.   总是使用C#预定义格式,而不使用在System空间内的别名

       object    NOT        0bject

       string     NOT        String

       int          NOT        Int32

11.   一般的,对于格式使用大写字母,当处理.NET格式Type时使用Type后缀

       //Correct:

       public class LinkedList<K, T>

       {..}

       //Avoid:

       public class LinkedList<KeyType,DataType>

       {..}

12.   使用易理解的命名空间[4]名称,如产品或公司名称

13.   避免使用命名空间的完整限定名称,应使用using声明替代

14.   避免using声明放置在命名空间内部

15.   将所有的框架命名空间分组,将用户或第三方命名空间放置在其下

       using System;

       using System.Collections;

       using System.ComponentModel;

       using System.Data;

       using MyCompany;

       using MyControls;

16.   使用委托引用[5]代替显式的委托实例

       delegate void SomeDelegate();

       public void SomeMethod()

       {..}

       SomeDelegate someDelegate=SomeMethod;

17.   保持严格的缩进

l         对缩进使用3个空格位

l         绝不使用TAB或者不标准的缩进,1,24个空格位

18.   将注释缩拍在与代码缩进同等级的位置上

19.   所有的注释应该通过拼写检查.拼错的注释将预示冗余的开发

20.   所有的成员变量应该在开始就被声明,并使用单独一行将属性与方法区域分开

       public class MyClass

       {

            int m_Number;

             string m_Name;

 

 

             public void SomeMethodl()

             {}

             public void SomeMethod2()

             {}

       }

21.   在离第一次使用变量尽可能近的地方声明该局部变量

22.   文件名称应反映出其包含的类

23.   当使用partial[6]并将其分配给每个文件一部分时,对每个文件命名使用后缀P并附带一个额外的数字

       //In MyClassP1.cs

       public partial class MyClass

       {..}

       // In MyClassP2.cs

       public partial class MyClass

       {..}

24.   将反括号({)放置与新的一行

25.   对于匿名方法参照有规律的代码规划,其缩进应与匿名委托声明对齐

       delegate void SomeDelegate (string someString);

       //Correct:

       public void InvokeMethod()

       {

           SomeDelegate someDelegate=delegate (string name)

           {

                MessageBox.Show(name);

           };

           someDelegate ("Juval");

       }

       //Avoid

       public void InvokeMethod()

       {

           SomeDelegate someDelegate=delegate (string name)

              {MessageBox.Show(name);};

           someDelegate(”Juval");

       }

26.   对于匿名缺省参数的方法,应该使用空括号表示.

       delegate void SomeDelegate();

       //Correct

       SomeDelegate someDelegate1=delegate()

       {

            MessageBox.Show("Hello");

       };

       //Avoid

       SomeDelegate someDelegate1=delegate

       {

               MessageBox.Show("Hello");
       };


由于本人E文有限,所以翻译注释不当之处,请指明。

[1] 特指使用Pascal的命名规范命名类型和方法的名字

[2] 特指使用camel命名规范命名局部变量和方法的参数

[3] 匈牙利命名法则:变量名=变量类型+变量的英文意思(或缩写)

[4] namespace用于声明一个范围.此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法.

[5] delegate声明定义一种引用类型,该类型可用于将方法用特定的签名封装.委托实例封装静态方法或实例方法. 委托大致类似于C++中的函数指针;但是,委托是类型安全和可靠的

[6] partial简单来说即是使用不完整的类定义并且将部分分配到每个文件中

C#+Coding+Standard.ppt

  • 2012年09月17日 11:04
  • 329KB
  • 下载

C# coding standard

  • 2007年07月18日 10:06
  • 249KB
  • 下载

PSR-1-basic-coding-standard

基本代码规范本节我们将会讨论一些基本的代码规范问题,以此作为将来讨论更高级别的代码分享和技术互用的基础。RFC 2119中的必须(MUST),不可(MUST NOT),建议(SHOULD),不建议(S...

IDesign C# Coding Standard 2.3

  • 2008年01月18日 14:30
  • 224KB
  • 下载

CERT Secure Coding Standard — C语言安全编程规范

原文:http://www.huangwei.me/blog/2011/02/03/cert-secure-coding-standard-1/ 译序 看完cert的C安全编程...
  • young45
  • young45
  • 2013年12月02日 20:05
  • 1997

Automate Your Coding Standard

You've probably been there too. At the beginning of a project, everybody has lots of good intentions...

FreeRTOS学习笔记-1-Coding Standard and Style Guide(编码标准和风格)

编程标准 (Coding Standard) FreeRTOS 源代码遵守 MISRA (Motor Industry Software Reliability Association) 规范。 ...

QP编码标准-对AN_QL_Coding_Standard文档的总结(部分)

总的规则:     1、为了提高便携性,本标准建议统一使用了Unix™尾行约定,只有一个LF 字符(的0x0A)结束的每一行。在DOS / Windows的尾行约定以CR,LF 不推荐字符对符(...

PSR-1 (Basic Coding Standard) 基础编码标准

原文地址:https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md 译...
  • ZDX_Y
  • ZDX_Y
  • 2017年05月15日 00:16
  • 397

Overview of the High Efficiency Video Coding(HEVC) Standard之一

Overview of the High Efficiency Video Coding  (HEVC) Standard Gary J. Sullivan, Fellow, IEEE,  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# Coding Standard
举报原因:
原因补充:

(最多只允许输入30个字)