细说C#编程命名规范

 

命名规范是一个十分重要但有比较有争议的话题,本文主要谈一下作者的体会并介绍一种较常用的C#编程命名规范。

AD:


    匈牙利命名法

    我最早接触到的命名规范是匈牙利命名法,该方法出自微软,基本上是一些在你的所有变量前建立一个前缀的规则。这个前缀会说明那个变量的类型。其好处在于,通过它们的前缀,你可以方便地知道两个变量是否兼容。这种方法非常流行,在目前的C和C++开发中还被广泛的使用。

    匈牙利命名法的不足

    匈牙利命名法的最大的不足的地方就是繁琐,随着计算机的速度越来越快,IDE已拥有足够的能力,可以开始实时探测变量的类型。因此,当你编程时,IDE能够向你警告类型不兼容的情况(通常普遍使用微软Word自动拼写检查中的红色弯曲下划线)。

    匈牙利命名法过分强调类型,在泛型方法中就显得格格不入。另外,很多时候我们关心的只是这个变量所代表的意义而不是它的类型。像C++0x的auto关键字(虽然这个关键字在C++98中就存在,但没法用)和C#的var关键字也说明了这一点。在小函数或者Lambda表达式这种比较简单的流程的时候,过长的匈牙利变量显得也很不合适。

    其实主要的还是程序员懒惰心理作怪,但正是这种懒惰推动了计算机行业的不断发展。就连微软也逐步减少了匈牙利命名法的使用,在其当家语言C#中主要使用的是帕斯卡命名法和骆驼命名法。下面就简单的介绍一下常用的C#编程命名规范。

    C#编程命名规范

    C#编程命名规范 

    具体如下:

    1.用camel规则来命名局部变量和方法的参数,用pascal规则来命名方法和类型。

       
       
    1.     public class TextBox  
    2.     {  
    3.         public void DataBind()  
    4.         {  
    5.         }  
    6.     }   
    7.  
    8. string userName;  
    9. public AddUser(string userId,byte[] password);  

    2接口的名称加前缀 I.

       
       
    1. interface ICompare  
    2.     {  
    3.         int Compare();  
    4.     }  

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

       
       
    1. public class AuthorAttribute : Attribute  
    2. {  
    3. }  

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

       
       
    1. public class AppException : Exception  
    2. {  
    3. }  

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

       
       
    1. ShowDialog()  
    2. CreateFile()  
    3. GetPath()  

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

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

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

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

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

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

    12.把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion,需要记住的一点是:编程规范的目的是帮助程序员写出简洁规范易读的程序,但也没必要过分被其所约束。

    关于C#编程命名规范的内容就讲到这里,希望大家喜欢。

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    C#(读作“See Sharp”)是一种简洁、现代、面向对象且类型安全的编程语言。 C# 起源于 C 语言家 族,因此,对于 C、 C++ 和 Java 程序员,可以很快熟悉这种新的语言。 C# 已经分别由 ECMA International 和 ISO/IEC 组织接受并确立了标准,它们分别是 ECMA-334 标准和 ISO/IEC 23270 标准。 Microsoft 用于 .NET Framework 的 C# 编译器就是根据这两个标准实现的。 C# 是面向对象的语言,然而 C# 进一步提供了对面向组件 (component-oriented) 编程的支持。现代软件 设计日益依赖于自包含和自描述功能包形式的软件组件。这种组件的关键在于,它们通过属性、方法和 事件来提供编程模型;它们具有提供了关于组件的声明性信息的特性;同时,它们还编入了自己的文 档。 C# 提供的语言构造直接支持这些概念,这使得 C# 语言自然而然成为创建和使用软件组件之选。 有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类 型安全 (type-safe) 的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的类型 强制转换等情形。 C# 具有一个同一类型系统 (unified type system)。所有 C# 类型(包括诸如 int 和 double 之类的基元类 型)都继承于单个根类型: object。因此,所有类型都共享一组通用操作,并且任何类型的值都能够 以一致的方式进行存储、传递和操作。此外, C# 同时支持用户定义的引用类型和值类型,既允许对象 的动态分配,也允许轻量结构的内联存储。 为了确保 C# 程序和库能够以兼容的方式逐步演进, C# 的设计中充分强调了版本控制 (versioning)。许 多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工 作。 C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的 virtual 和 override 修 饰符、方法重载决策规则以及对显式接口成员声明的支持。 本章的其余部分将描述 C# 语言的基本特征。尽管后面的章节会更为详尽,有时甚至逻辑缜密地对规则 和例外情况进行描述,但本章的描述力求简洁明了,因而难免会牺牲完整性。这样做是为了向读者提供 关于该语言的概貌,一方面使读者能尽快上手编写程序,另一方面为阅读后续章节提供指导。

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值