c#命名规则

来源:互联网 发布:最优化理论与方法答案 编辑:程序博客网 时间:2024/05/19 19:44

ADO.NET 命名规范:
数据类型数据类型简写标准命名举例
ConnectionconconNorthwind
CommandcmdcmdReturnProducts
ParameterparmparmProductID
DataAdapterdaddadProducts
DataReaderdtrdtrProducts
DataSetdstdstNorthWind
DataTabledtbldtblProduct
DataRowdrowdrowRow98
DataColumndcoldcolProductID
DataRelationdreldrelMasterDetail
DataViewdvwdvwFilteredProducts
WinForm Control 命名规范:
数据类型数据类型简写标准命名举例
LabellbllblMessage
LinkLabelllblllblToday
ButtonbtnbtnSave
TextBoxtxttxtName
MainMenummnummnuFile
CheckBoxchkchkStock
RadioButtonrbtnrbtnSelected
GroupBoxgbxgbxMain
PictureBoxpicpicImage
PanelpnlpnlBody
DataGriddgrddgrdView
ListBoxlstlstProducts
CheckedListBoxclstclstChecked
ComboBoxcbocboMenu
ListViewlvwlvwBrowser
TreeViewtvwtvwType
TabControltctltctlSelected
DateTimePickerdtpdtpStartDate
HscrollBarhsbhsbImage
VscrollBarvsbvsbImage
TimertmrtmrCount
ImageListilstilstImage
ToolBartlbtlbManage
StatusBarstbstbFootPrint
OpenFileDialogodlgodlgFile
SaveFileDialogsdlgsdlgSave
FoldBrowserDialogfbdlgfgdlgBrowser
FontDialogfdlgfdlgFoot
ColorDialogcdlgcdlgColor
PrintDialogpdlgpdlgPrint
WebControl 命名规范:
数据类型数据类型简写标准命名举例
AdRotatoradrtExample
ButtonbtnbtnSubmit
CalendarcalcalMettingDates
CheckBoxchkchkBlue
CheckBoxListchklchklFavColors
CompareValidatorvalcvalcValidAge
CustomValidatorvalxvalxDBCheck
DataGriddgrddgrdTitles
DataListdlstdlstTitles
DropDownListdropdropCountries
HyperLinklnklnkDetails
ImageimgimgAuntBetty
ImageButtonibtnibtnSubmit
LabellbllblResults
LinkButtonlbtnlbtnSubmit
ListBoxlstlstCountries
PanelpnlpnlForm2
PlaceHolderplhplhFormContents
RadioButtonradradFemale
RadioButtonListradlradlGender
RangeValidatorvalgvalgAge
RegularExpressionvalevaleEmail_Validator
RepeaterrptrptQueryResults
RequiredFieldValidatorvalrvalrFirstName
TabletbltblCountryCodes
TableCelltblctblcGermany
TableRowtblrtblrCountry
TextBoxtxttxtFirstName
ValidationSummaryvalsvalsFormErrors
XMLxmlcxmlcTransformResults
名称空间的命名规范:
  命名名称空间的一般规则如下: 
  CompanyName.TechnologyName
  这样,我们看到的名称空间应该是这样的:  
   Microsoft.Office
   PowerSoft.PowerBuilder                               
  注意:这只是一个原则。第三方公司可以选择其它的名字。
  避免用公司名称或其它著名品牌的名称作为名称空间的前缀,这样会造成两个公布的名称空间有同一个名称的可能性。
  例如: 将微软提供的Office自动类命名为Microsoft.Office
  使用Pascal大写方式,用逗号分隔逻辑成分。
  例如:Microsoft.Office.PowerPoint
  如果你的品牌使用的是非传统大写方式,那么一定要遵循你的品牌所确定使用的大写方式,即使这种方式背离了通常的名称空间大写规则。
  例如:NeXT.WebObjects
     ee.cummings
类的命名规范:
  类的命名原则是用名词或名词短语命名类,使用Pascal大写。减少类名中缩写的使用量。不要使用任何类前缀(比如C),不要使用带下划线的字符。
  例如:public class FileStream {}
      public class Button {}
      public class String {}
变量的命名规范:
  名称中各单词首字母均为大写。
  例如:FindLastRecord
      RedrawMyForm
  在内部范围中避免使用与外部范围中的名称相同的名称。若访问错误变量,则会产生错误结果。若变量与同一名称的关键字冲突,则必须在关键字前加适当的类型库以作标识。 
  例如:若有一个名为 date 的变量,只能通过调用 System.Date 来使用内部 Date 函数。
函数的命名规范:
  函数和方法的命名应该以动词开始,使用Pascal大写。不要使用带下划线的字符。
  例如:InitNameArray
      CloseDialog
接口的命名规范:
  使用名词或名词短语,或者描述行为的形容词来命名接口,使用Pascal大写。 减少接口名中缩写的使用量,在接口名前加前缀I,以表示这个类型是一个接口。
   例如: IComponent(描述性名词)
       ICustomAttributeProvider(名词短语)
       IPersistable(形容词)
参数的命名规范: 
  使用描述性参数名。参数名应该具有足够的描述性,这样在大多数情况下参数名和它的种类可以用来确定它的意思。根据参数的意思来命名参数,而不是根据参数的种类来命名。我们希望开发工具可以用很方便的方式提供关于参数种类的信息,这样参数名可以得到更好的使用,可以对语义而不是对种类进行描述。但是偶尔使用根据类型命名的参数名也是完全可以的。不要使用保留参数。如果在下一个版本中需要更多的数据,可以增加进来。
  例如:Type GetType (string typeName)
     string Format (string format, object [ ] args)
属性的命名规范:
  用名词或名词短语命名属性,属性与类型要一样。用与一个类型的名称相同的名字来命名属性时,就使这个属性的类型成为那个类型。虽然听起来有些奇怪,但这是正确的。
  例如:public enum Color {...}
      public class Control {
      public Color Color {get {...} set {...}}}
事件的命名规范:
  用EventHandloer后缀命名事件处理程序,使用名为sender和e的两个参数,Sender参数代表提出事件的对象。Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型,与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。 
  例如:public delegate void MouseEventHandler(object sender, MouseEvent e);
  命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(不要使用BeforeXxx\\AfterXxx的方式)。例如,可以被取消的结束事件就有Closing事件和Closed事件。
长项的命名规范:
  可使用缩写使名称长度适中,通常,多于 32 个字符的变量名在低分辨率的监视器上难以阅读。同时,请确保缩写在整个应用程序中保持一致。 
  例如:可以使用“HTML”代替“HyperText Markup Language”。
代码的格式规范:
o文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行。
o在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
o每行长度尽量避免超过屏幕宽度,应不超过80个字符。
o尽量用公共过程或子程序去代替重复的功能代码段。
o使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。
o避免采用过于复杂的条件测试。
o避免过多的循环嵌套和条件嵌套。
o一个函数不要超过200行。一个文件应避免超过2000行。
o避免使用goto语句。
o避免采用多赋值语句,如x = y = z;。
代码的注释规范:
  .cs文件的注释
   所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等
  例如:
//********************************************************
//新增日期:2004.7.19
//作者:XXX
//內容说明: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//********************************************************
  函数过程注释
  所有的函数体开头都要加上注释,所以注释使用.NET注释规范。
  例如:
/// <summary>
/// 构造函数
/// </summary>
/// <param name='is_xxx1'>示例参数1</param>
/// <param name='is_xxx2'>示例参数2</param>
public UpgradeThread(string is_xxx1, string is_xxx2)
{
//…
}
  常量变量注释
  所有的常量变量,无论是全局还是局部使用的,凡是对代码整体起到关键性做用的都需要加上注释。
  例如:
/// <summary>
/// 当前线程指向的备份文件本地保存路径
/// </summary>
public string StorePath = ''
  代码修改注释
  当开发者维护以前的程序代码时,需要在修改处的开始及结尾,加上自己的注释信息。
  例如:
//BEGIN 2004-7-19 Jayson 修正了XXX问题
略…
//END 2004-7-19 Jayson