• .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

     

     

     南京酷得软件

  • 相关阅读:
    使用ViewPager实现三个fragment切换
    handler
    Android 源码解析之AsyncTask
    android的生命周期
    安卓在SQLiteOpenHelper类进行版本升级和降级
    安卓ListView操作的两种方法
    表格布局TableLayout
    线性布局和相对布局
    遇到tomcat端口被占用问题解决方案
    easyUI笔记09.03
  • 原文地址:https://www.cnblogs.com/sucsy/p/675491.html
Copyright © 2020-2023  润新知