C#命名规则和编码规范,让你的代码变得优美

话不多说,直接上干货


属性、方法、事件和类名使用Pascal规则来命名

  • Pascal规则是指名称中单词的首字母大写 ,如EmployeeSalary、 ConfimationDialog、PlainTextEncoding
public class HelloWorld{ public void SayHello(string name) { }}

成员变量、局部变量和方法的参数使用Camel规则来命名

  • Camel规则类似于Pascal规则 ,但名称中第一个单词的首字母不大写 ,如employeeSalary、 confimationDialog、plainTextEncoding。
  • 不要给成员变量加任何前缀(如m、s_、_ 等)。如果想要区分局部变量和成员变量,可以使用this关键字。
public class Product{    private string productId;    private string productName;    public void AddProduct(string productId,string productName)    {    }}

常量或者只读变量的变量名使用Pascal规则来命名

  • 不要将常量或者只读变量全部大写。
// 建议public static const string ShippingType = 'DropShip';// 不建议public static const string SHIPPINGTYPE = 'DropShip';

接口的名称一般以大写I作前缀

public interface IConvertible{    byte ToByte();}

自定义的属性以Attribute结尾。

public class TableAttribute:Attribute{}

自定义的异常以Exception结尾。

public class NullEmptyException:Exception{}

类的命名。用名词或名词短语来命名类名。

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

public class File{ public void CreateFile(string filePath) { } public void GetPath(string path) { }}

可以用缩写作为UI元素的前缀。常见UI组件的一般缩写形式:

Label --> lbl、Text --> txt、Button --> btnImage --> img、 Widget --> Wgt、 List --> lst、CheckBox --> chkHyperlink --> lnk、Panel --> pnl、Table --> tabImageButton --> imb

布尔型变量或者方法一般可以用is、can或者has做前缀。如,isFinished, canWork等。

  • 判断条件是一个布尔变量时不要使用==进行条件判断。
// 建议private bool isFinished = true;if(isFinished){}// 不建议private bool isFinished = true;if(isFinished == true){}

变量名是一个单词的尽量不要缩写,多个单词组成的变量名可适当缩写。

在类的顶部声明所有的成员变量,静态变量生命在最前面。

public class Account{    public static string BankName;    public static decimal Reserves;    public string Number {get; set;}    public DateTime DateOpened {get; set;}    public DateTime DateClosed {get; set;}    public decimal Balance {get; set;}    // Constructor    public Account()    {    }}

其他

  • 局部变量的名称要有意义。
  • 不要直接用用i,j,k,l,m,n,x,y,z等做变量名,但for循环除外。
  • 所有的成员变量声明在类的顶端,用一个换行把它和方法分开。同时可以使用成对的#region...#endregion标记,方便折叠。
  • 一般C#的编码风格要求花括号“{”另起一行,不要直接跟在类名和方法后面。
  • 如果一个方法超过25行,就需要考虑是否可以重构和拆分成多个方法。
  • 方法命名要见名知意,好的方法名可以省略多余的注释。方法功能尽量单一。

(0)

相关推荐

  • dotNET Core:编码规范

    在项目开发过程中,由于时间紧.任务重,很容易导致面向功能编程.实现相同的功能,代码可以写的很优雅,也可以写的很晦涩和复杂.现在的工作,都需要进行团队协作,代码就需要有一定的规范进行指引,因为我们需要写 ...

  • 一些JavaSE学习过程中的思路整理(一)(主观性强,持续更新中...)

    目录 一些JavaSE学习过程中的思路整理(一)(主观性强,持续更新中...) Java书写规范 IDEA的一些常用快捷键 Java类中作为成员变量的类 Java源文件中只能有一个public类 Ja ...

  • Java 基础语法

    注释 #单行注释 // 这里是单行注释 #多行注释 /* 这里是 多行注释 */ #JavaDoc /* *@Description: *@Author: */ Java可以使用中文命名 但不建议使用 ...

  • Java基本概念:内部类

    一.简介 描述: 很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了. 内部类不是在一个java源文件中编写两个平行的类,而是在一个类的内部再定义另外一个 ...

  • Java 基础知识

    Java 基础知识

  • DRG命名规则及编码示例

    DRG命名规则及编码示例

  • 常见的三种命名规则:大驼峰命名法、小驼峰命名法、匈牙利命名法

    一.骆驼命名法:小驼峰法(camel方法)变量一般用小驼峰法标识.第一个单词以小写字母开始:第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName.myLastName ...

  • 第012节:编码规范

    本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性.本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一 ...

  • 十二经络的命名规则是什么?标题

    十二经络的命名规则是什么? 这个问题很具有诱惑力. 虽然有朋友已经答的很好了. 虽然也没人邀请我来答. 我还是忍不住过来水一发. 都说学医不要执着名相. 有是物即有是名. 人身十二经,是营气运行之道路 ...

  • 考考你 中国海军舰艇的命名规则是什么?

    考考你 中国海军舰艇的命名规则是什么?

  • 长征、大连、海南,三型主战舰艇入列,命名规则是什么?

    4月23日,海军三型主战舰艇--长征18号艇.大连舰.海南舰在海南三亚某军港集中交接入列.为什么是长征.大连.海南这三个名字?中国海军舰艇命名有什么规则?来一探究竟! 中国海军拥有数量庞大的各种大.中 ...

  • 很全的各类电子元器件符号 实物 命名规则 生产厂商一览

    电子电路中常用的器件包括: 1.电阻器(含电位器) 2.电容器 3.电感器与变压器 4.二极管 5.晶体管三极管 6.场效应晶体管(含IGBT.MOSFET) 7.晶闸管(可控硅) 8.晶振 9.连接 ...

  • 全球电阻主要厂家(含国产命名规则 实物图等)

    知名电阻电位器生产厂家 中国内地: 广东风华高新科技股份有限公司.潮州三环(集团)股份有限公司.深圳顺络电子股份有限公司(Sunlord).东莞市智伟电子有限公司.东莞宇顺塑胶电子有限公司.南通江海电 ...

  • 分享GitHub上一位老外的嵌入式C编码规范(收藏细读)

    最重要的一条规则 编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它. 作为维护人员,如果收到的补丁明显与周围代码的编码风格不同,这是令人沮丧的.这是不尊重人的,就像某人穿着泥泞的鞋子走进一间一 ...