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

drelMasterDetail

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

dtpStartDate

HscrollBar

hsb

hsbImage

VscrollBar

vsb

vsbImage

Timer

tmr

tmrCount

ImageList

ilst

ilstImage

ToolBar

tlb

tlbManage

StatusBar

stb

stbFootPrint

OpenFileDialog

odlg

odlgFile

SaveFileDialog

sdlg

sdlgSave

FoldBrowserDialog

fbdlg

fgdlgBrowser

FontDialog

fdlg

fdlgFoot

ColorDialog

cdlg

cdlgColor

PrintDialog

pdlg

pdlgPrint

3 WebControl 命名规范

数据类型

数据类型简写

标准命名举例

AdRotator

adrt

Example

Button

btn

btnSubmit

Calendar

cal

calMettingDates

CheckBox

cbo

cboBlue

CheckBoxList

chkl

chklFavColors

CompareValidator

valc

valcValidAge

CustomValidator

valx

valxDBCheck

DataGrid

dgrd

dgrdTitles

DataList

dlst

dlstTitles

DropDownList

ddl

dropCountries

HyperLink

hlk

hlkDetails

Image

img

imgAuntBetty

ImageButton

ibtn

ibtnSubmit

Label

lbl

lblResults

LinkButton

lbtn

lbtnSubmit

ListBox

lst

lstCountries

Panel

pnl

pnlForm2

PlaceHolder

plh

plhFormContents

RadioButton

rad

radFemale

RadioButtonList

radl

radlGender

RangeValidator

valg

valgAge

RegularExpression

vale

valeEmail_Validator

Repeater

rpt

rptQueryResults

RequiredFieldValidator

valr

valrFirstName

Table

tbl

tblCountryCodes

TableCell

tblc

tblcGermany

TableRow

tblr

tblrCountry

TextBox

txt

txtFirstName

ValidationSummary

vals

valsFormErrors

XML

xmlc

xmlcTransformResults

Literal

ltl

ltlTitle

4、数据库命名规范:

A、表命名:TB_表名,表名首字符大写,如:DepartmentUsers; 
B、表主键名称为:表名+ID,如Document表的主键名为:DocumentID 
C、存储过程命名:表名+方法,如:p_my_NewsAdd,p_my_NewsUpdate; 
D、视图命名:TV_表名,如:TV_News; 
E、Status为表中状态的列名,默认值为“N”,在表中删除操作将会改变Status的值而不真实删除该记录;
F、Checkintime为记录添加时间列,默认值为系统时间;
G、表、存储过程、视图等对象的所有都为dbo,不要使用数据库用户名,这样会影响数据库用户的更改。

5C#编程命名标准:

名称空间的命名 

命名名称空间的一般规则如下:   

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”。

代码书写格式规范

²      文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行。

²      在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。

²      每行长度尽量避免超过屏幕宽度,应不超过80个字符。

²      尽量用公共过程或子程序去代替重复的功能代码段。

²      使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。

²      避免采用过于复杂的条件测试。

²      避免过多的循环嵌套和条件嵌套。

²      一个函数不要超过200行。一个文件应避免超过2000行。

²      避免使用goto语句。

²      避免采用多赋值语句,如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

NET 命名规范的更多相关文章

  1. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  2. Java命名规范

    驼峰法则: 将所有字母都小写(包括缩写),然后将单词的第一个字母大写. 每个单词的第一个字母都大写,来得到大驼峰式命名. 除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰式命名. 为避免歧 ...

  3. JavaScript知识点总结(命名规范,变量的作用域)

    命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...

  4. js的命名规范

                   js的命名规范   1.驼峰命名法:首字母是小写的,接下来的字母都以大写字符开头.例如: var testValue = 0; var oneValue = 10; 2. ...

  5. 浅谈Android编码规范及命名规范

    前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 ...

  6. [No000099]软件版本命名规范

    软件版本阶段说明 Base: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha: 此版本表示该软件在 ...

  7. Google C++命名规范

    时间:2014.03.02 地点:基地 -------------------------------------------------------------------------------- ...

  8. javascript命名规范

    javascript命名规范 3.命名 命名的方法通常有以下几类: a).命名法说明 1).camel命名法,形如thisIsAnApple 2).pascal命名法,形如ThisIsAnApple ...

  9. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  10. Android资源(图片)命名规范

    (转自:http://www.jb51.net/article/38796.htm) 图片命名注意: 1,不能以下划线("_")开头: 2,以数字加下划线("[0-9]_ ...

随机推荐

  1. 众安「尊享e生」果真牛的不可一世么?

    近日,具有互联网基因的.亏损大户(成立三年基本没盈利,今年二季度末亏损近4亿,你能指望它多厉害?).财产险公司—众安推出“尊享e生”中高端医疗保险(财险公司经营中高端医疗真的很厉害?真的是中高端医疗险 ...

  2. 在数学建模中学MATLAB

    为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137 ...

  3. poj 2987 最大权闭合图

    Language: Default Firing Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 8744   Accept ...

  4. 介绍开源的.net通信框架NetworkComms框架 源码分析(十三)ThreadSafeStream

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  5. 常用JS汇总

    01. 取文档url参数值 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + &q ...

  6. Delphi 字符数组存入文件

    TDMSRequestBuffer=object    Head:TDMSHead;    Data:array[0..2047] of char;    DataSize:Integer;    p ...

  7. Adobe Dreamweaver(DW)

    下载破解版地址:http://www.frontopen.com/1179.html 详情地址:http://baike.baidu.com/link?url=8Jv88BJ-wXeyABAbYEMl ...

  8. MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义

    问题描述:mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了) 例:插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容是 ...

  9. python profile

    一.profile,cProfile 1. python -m cProfile myprogram.py python -m profile myprog.py2. 使用import profile ...

  10. iOS.ReactNative-4-react-native-command-line-tool

    Command line tool: react-native 1. react-native 是一个命令行工具 1.1 react-native简介 运行以下命令: ls -lt `which re ...