.Net 开发规范 南京酷得软件

1版权和版本的声明

版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:

1)版权信息。

2)文件名称,标识符,摘要。

3)当前版本号,作者/修改者,完成日期。

4)版本历史信息。

/*Copyright (C) 2007 ,公司名称

     * All Rights Reserved

     * 文件名称:filename.cs

     *     要:摘要内容

     *

     * 当前版本:1.1

     *     者:sucsy

     * 完成日期:2007315

     *

     * 取代版本:1.0

     * 原作者 :原作者的姓名

     * 完成日期:2007314    

     */

1-1

 

2 注释规范

#region 系统方法

   #region 页面加载   

 protected void Page_Load(object sender, EventArgs e)

    {      

        RegCommonDialog();//通用对话框注册

}

#endregion

    #region 按钮1单击事件

    //按钮1单击事件

    protected void Button1_Click(object sender, EventArgs e)

    {

        ShowMessageBox("Add", "add(2,9)");

    }

    #endregion

#endregion

#region 自定义方法

#region 加法方法。

 // 摘要:

//     加法方法

  //     /*=======================================================================================

         更新历史

         项目名称        更新日期        责任人      更新内容

         ****系统    2007.03.10      sucsy       新建         =======================================================================================*/    /// <summary>

    /// 加法方法

    /// </summary>

    /// <param name="a">第一个参数</param>

    /// <param name="b">第二个参数</param>

    /// <returns>a+bd的值</returns>

    [Ajax.AjaxMethod()]   

    public string AddMethod(int a, int b)

    {

                //@sucsy于200737日晚1905修改          

                //原因是:系统错误只在系统研发时使用

                //原代码:ErrMsg = getMsgByNumber(_ErrNumber);

                //修改成:

                ErrMsg = "系统忙或您正在执行非法的操作"             

      }

#endregion

#endregion

3 程序的版式

2.2 代码行

【规则2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。

【规则2-2-2ifforwhiledo 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。

示例2-2a)为风格良好的代码行,示例2-2b)为风格不良的代码行。

【建议2-2-1】尽可能在定义变量的同时初始化该变量(就近原则)

如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如

int width = 10; // 定义并初绐化width

int height = 10; // 定义并初绐化height

int depth = 10; // 定义并初绐化depth

5.2.3代码行内的空格

【规则2-3-1】关键字之后要留空格。象constvirtualinlinecase 等关键字之后至少要留一个空格,否则无法辨析关键字。象ifforwhile 等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。

【规则2-3-2】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

【规则2-3-3】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。

【规则2-3-4】‘,’之后要留空格,如Function(x, y, z)。如果‘;’不是一行的结束符号,其后要留空格,如for (initialization; condition; update)

【规则2-3-5】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=” “>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<,^”等二元操作符的前后应当加空格。

【规则2-3-6】一元操作符如“!”、“~”、“++”、“--”、“&”(地址运算符)等前后不加空格。

【规则2-3-7】象“[]”、“.”、“->”这类操作符前后不加空格。

【建议2-3-1】对于表达式比较长的for 语句和if 语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i<10; i++)if ((a<=b) && (c<=d))

5.2.4对齐

【规则2-4-1】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。

【规则2-4-2{ }之内的代码块在‘{’右边数格处左对齐。

5.2.5长行拆分

【规则2-5-1】代码行最大长度宜控制在70 80 个字符以内。代码行不要过长,否则眼睛看不过来,也不便于打印。

【规则2-5-2】长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。

5.2.6修饰符的位置

修饰符 * 和 & 应该靠近数据类型还是该靠近变量名,是个有争议的活题。若将修饰符 * 靠近数据类型,例如:int* x; 从语义上讲此写法比较直观,即xint 类型的指针。

上述写法的弊端是容易引起误解,例如:int* x, y; 此处y 容易被误解为指针变量。虽然将x y 分行定义可以避免误解,但并不是人人都愿意这样做。

【规则2-6-1】应当将修饰符 * 和 & 紧靠变量名

例如:

char *name;

int *x, y; // 此处y 不会被误解为指针

3命名规则

【规则3-1】类名和函数名用大写字母开头的单词组合而成。

例如:

class Node; // 类名

class LeafNode; // 类名

void Draw(void); // 函数名

void SetValue(int value); // 函数名

【规则3-2】变量和参数用小写字母开头的单词组合而成。

组合规则:

类型名称_所属板块或对象_板块的操作或对象的属性

例如:

String str_ExamPage_Title=””; //变量名

str_ExamPage_Title = txt_ExamPage_Title.Text;//文本框名

str_ExamPage_Head_Content //多级对象下的属性需要将每一级都写上

 

VS.NET 控件命名规范

Type

Prefix

Example

Array

arr

arrShoppingList

Boolean

bln

blnIsPostBack

Byte

byt

bytPixelValue

Char

chr

chrDelimiter

DateTime

dtm

dtmStartDate

Decimal

dec

decAverageHeight

Double

dbl

dblSizeofUniverse

Integer

int

intRowCounter

Long

lng

lngBillGatesIncome

Object

obj

objReturnValue

Short

shr

shrAverage

Single

sng

sngMaximum

String

str

strFirstName

WebControls

Type

Prefix

Example

AdRotator

adrt

adrtTopAd

Button

btn

btnSubmit

Calendar

cal

calMettingDates

CheckBox

chk

chkBlue

CheckBoxList

chkl

chklFavColors

CompareValidator

valc

valcValidAge

CustomValidator

valx

valxDBCheck

DataGridGridview

grd

grdTitles

DataList

dlst

dlstTitles

DropDownList

drp

drpCountries

HyperLink

lnk

lnkDetails

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

ADO.NET

Type

Prefix

Example

Connection

con

conNorthwind

Command

cmd

cmdReturnProducts

Parameter

parm

parmProductID

DataAdapter

da

daProducts

DataReader

dr

drProducts

DataSet

ds

dsNorthWind

DataTable

dtbl

dtblProduct

DataRow

drow

drowRow98

DataColumn

dcol

dcolProductID

DataRelation

drel

drelMasterDetail

DataView

dvw

dvwFilteredProducts

 

 

 南京酷得软件

原文地址:https://www.cnblogs.com/sucsy/p/675491.html