C#命名规范

为了增强程序的可读性,那么就要有好的命名规范。在此,将从网上搜集到的资料一并汇集到这里,方便查阅。

1、ADO.NET命名规范

数据类型                       简写              标准命名举例                              
Connection   con conNorthwind
Command cmd cmdReturnProducts
Parameter parm parmProductID
DataAdapter dad dadProducts
DataReader dtr dtrProducts
DataSet dst dstNorthWind
DataTable dtbl dtblProduct
DataRow drow drowRow98
DataColumn dcol dcolProductID
DataRelation drel drelMasterDetai
DataView dvw dvwFilteredProducts

 

 

 

 

 

 

 

 

 

  

 

2、WinForm Control 命名规范

数据类型                       简写             

标准命名举例                              

Label lbl lblMessage
LinkLabel llbl llblToday
Button btn btnSave
TextBox txt txtName
MainMenu mmnu mmnuFile
CheckBox chk chkStock
RadioButton rbtn rbtnSelected
GroupBox gbx gbxMain
PictureBox pic picImage
Panel pnl pnlBody
DataGrid dgrd dgrdView
ListBox lst lstProducts
CheckedListBox clst clstChecked
ComboBox cbo cboMenu
ListView lvw lvwBrowser
TreeView tvw tvwType
TabControl tctl tctlSelected
DateTimePicker dtp dtpStartData
HscrollBar hsb hsbImage
VscrollBar vsb vsbImage
Timer tmr tmrCount
ImageList ilst ilstImage
ToolBar tlb tlbManage
StatuBar stb stbFootPrint
OpenFileDialog odlg odlgFile
SaveFileDialog sdlg sdlgSave
FoldBrowserDialog fgdlg fgdlgBrowser
FontDialog fdlg fdlgFoot
ColorDialog cdlg cdlgColor
PrintDialog pdlg

pdlgPrint

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

3、WebControl命名规范

数据类型                      简写              标准命名举例                              
AdRotator adrt adrtExample
Button btn btnSubmit
Calendar cal calMettingDates
CheckBox chk chkBlue
CheckBoxList chkl chklFavColors
CompareValidator valc valcValidAge
CustomValidator valx valxDBCheck
DataGrid dgrd dgrdTitles
DataList dlst dlstTitles
DropDownList drop dropCountries
HyperLink lnk lnkDetails
Image img imgAuntBetty
ImageButton ibtn ibtnSubmit
Label lbl lblResults
LinkButton bltn lbtnSubmit
ListBox lst lstCountries
Panel pnl pnlForm2
PlaceHolder plh plhFormContents
RadioButton rad radFemale
RadioButtonList radl radlGender
RangeValidator valg valgAge
RegularExpression vale valeEmailValidator
Repeater rpt rptQueryResults
RequiredFieldValidator valr valrFirstName
Table tbl tblCountryCodes
TableCell tblc tblcGermany
TableRow tblr tblrCountry
TextBox txt txtFirstName
ValidationSummary vals valsFormErrors
XML xmlc xmlcTransformResults

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4、三种变量命名法

a.帕斯卡命名法  举例:MyData,它的每一个单词的首字母均为大写

b.骆驼命名法     举例:myData,它的第一个单词的首字母小写,后面单词的首字母大写,看起来像一个骆驼

c.匈牙利命名法      举例:iMyData,它的小写i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途

5、变量命名规范

a.内联变量:必须以骆驼Camel命名法命名

  举例:uName,uPass;

b.类变量(成员变量):必须以骆驼Camel命名法命名,同时一定要以一个下划线开始

  举例:_mySqlConn;

6、常量命名规范

a.带有私有访问修饰的常量必须以骆驼命名法声明,并以一个下划线开始

  举例:private int _SHOW_COUNT=20;

b.带有公有修饰符、受保护修饰符的常量必须以帕斯卡命名法声明

  举例:protected int COUNT=20;

7、数组命名规范

  数组必须以骆驼命名法声明

  举例:string[5] nameArray;

     string[] nameArray=new string[5];

          int[] userAge={20,30,21,22};

8、结构命名规范

 结构必须以帕斯卡命名法声明,用词或者短语作为声明的首选

 举例:public struct StructName{

    //结构体

   }

9、枚举命名规范

 枚举必须以帕斯卡命名法声明,用词或者短语则为声明的首选

 举例:public enum WeekDays{

    //结构体

   }

10、其他命名规范

a.用Pascal命名法命名方法和类型

  举例:public class TextBox

     {

      public void DataBind()

      {

      }

     }

b.用Camel规则来命名局部变量和方法的参数

  举例:string userName;

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

c.所有成员变量前加前缀m_

  举例:public class Database

     {

      public string m_connectionString;

     }

d.接口的名称加前缀I

  举例:interface ICompare

     {

      int compare();

     }

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

  举例:public class AuthorAttribute:Attribute

     {

     }

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

  举例:public class AppException:Exception

     {

     }

g.方法的命名。一般将其命名为动词短语

  举例:ShowDialog();

     CreateFile(); 

     GetPath();

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

i.局部变量的名称要有意义,不要用x、y、z等等

  举例:string userName

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

k.用有意义的名字名称namespace,如:产品名、公司名等

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

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

n.把引用的系统namespace和自定义或第三方的分开

o.文件名要能反应类的内容,最好是和类同名,一个文件中一个类

p.目录结构中要反映出namespace的层次

q.大括号“}”要新起一行

  举例:public class AuthorAttribute:Attribute

     {

     }

 

posted @ 2013-08-24 12:48  EzRobot  阅读(556)  评论(0编辑  收藏  举报