zoukankan      html  css  js  c++  java
  • DotNet命名规范参考(转)

    来自:http://www.cnblogs.com/w-y-f/archive/2012/05/30/2526254.html

    DotNet命名规范参考

    一、命名规范

      注意事项:使用英文命名规则,尽量不使用缩写,禁止使用下划线

     1. DotNet专属对象命名规范:

    • 此命名规范规定了DotNet中专属的各类语言元素的命名规范:
    • Pascal:命名空间、类、方法、委托、属性、结构、接口、常量变量均使用Pascal命名规范。
    • Camel:私有成员、局部变量、参数、页面控件变量均使用Camel风格。
    • 文件名和类名要匹配。
    • 当类只用于作为其他类的基类,根据情况,以Base结尾。  Class CarBase
    • 接口需在添加第一个字母I表示其是个接口。
    • 成员变量与其对应的属性的差别只在于第一个字母的大小写。
    • 命名空间使用以下格式:CompanyName.SolutionName.ProjectName[.ModuleName]

      2. Javascript、CSS、Html命名规则

    • 此命名规范规定了javascript、css中专属的各类语言元素的命名规范:
    • Pascal:js类名使用Pascal风格。
    • Camel:js变量、js参数、js函数、css类名、html标签ID、Html标签均使用Camel风格。
    • js私有变量需加下划线前缀进行标注。

      3. SqlServer数据库命名规则

    • 此命名规范规定了SqlServer中专属的各类元素的命名规范:
    • Pascal:就名字本身而言,数据库、表、视图、存储过程、自定义函数、自定义数据类型、触发器均使用Pascal风格。但部分命名需加前缀的下面已给出。
    • 视图名使用小写字母v为前缀。
    • 存储过程名使用小写字母usp为前缀。
    • 自定义函数名使用小写字母ufn为前缀。

      4.组织结构命名规范

    • Pascal:DotNet解决方案、DotNet项目、DotNet专属文件、文件夹均使用Pascal风格。
    • Camel:文件扩展名、js文件名、css文件名、图片文件名均使用Camel风格。

       5. C#控件命名规范

    Data Control

    类 型

    前 缀

    示 例

    AccessDataSource

    ads

    adsPubs

    DataList

    dlst

    dlstTitles

    DetailView

    dvw

    dvwTitles

    FormView

    fvw

    fvwFonts

    GridView

    gvw

    gvwCity

    ObjectDataSource

    ods

    odsMenus

    Repeater

    rpt

    rptQueryResults

    ReportViewer

    rvw

    rvwRecord

    SiteMapDataSource

    smds

    smdsSite

    SqlDataSource

    sds

    sdsBooks

    XmlDataSource

    xds

    xdsTitles

    Validation Control

    类 型

    前 缀

    示 例

    CompareValidator

    valc

    valcValidAge

    CustomValidator

    valx

    valxDBCheck

    RangeValidator

    valg

    valgAge

    RegularExpressionValidator

    vale

    valeEmail

    RequiredFieldValidator

    valr

    valrFirstName

    ValidationSummary

    vals

    valsFormErrors

    Navigation Control

    类 型

    前 缀

    示 例

    Menu

    mnu

    mnuUser1

    SiteMapPath

    smp

    smpSite1

    TreeView

    trvw

    trvwMenu

    Login Control

    类 型

    前 缀

    示 例

    ChangePassword

    cpwd

    cpwdUser1

    CreateUserWizard

    cuw

    cuwLogin

    Login

    log

    logCenter

    LoginName

    logn

    lognUser

    LoginStatus

    logs

    logsUser

    LoginView

    logv

    logvUser

    PasswordRecovery

    pwdr

    pwdrUser

    WebParts Control

    类 型

    前 缀

    示 例

    AppearanceEditorPart

    paed

    paedPart1

    BehaviorEditorPart

    pbed

    pbedPart2

    CatalogZone

    zca

    zcatCity

    ConnectionsZone

    zcon

    zconDataBase

    DeclarativeCatalogPart

    pdca

    pdcaPart1

    EditorZone

    zed

    zedNews

    ImportCatalogPart

    pica

    picaPart

    LayoutEditorPart

    pled

    pledNews

    PageCatalogPart

    ppca

    ppcaMail

    PropertyGridEditorPart

    ppge

    ppgeServer

    ProxyWebPartManager

    mpwp

    mpwpWeb

    WebPartManager

    mwp

    mwpSite1

    WebPartZone

    zwp

    zwpSite2

     

    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

    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

    WebControl 命名规范

    类 型

    前 缀

    示 例

    Adrotator

    adrt

    adrtTopAd

    BulletedList

    blst

    blstCity

    Button

    btn

    btnSubmit

    Calendar

    cal

    calMettingDates

    CheckBox

    chk

    chkBlue

    CheckBoxList

    chkl

    chklFavColors

    CompareValidator

    valc

    valcValidAge

    CustomValidator

    valx

    valxDBCheck

    DropDownList

    drop

    dropCountries

    DataGrid

    dgrd

    dgrdTitles

    DataList

    dlst

    dlstTitles

    RangeValidator

    valg

    valgAge

    FileUpLoad

    fup

    fupImage

    HiddenField

    hfld

    hfldName

    HyperLink

    hlk

    hlkDetails

    Image

    img

    imgAuntBetty

    ImageButton

    ibtn

    ibtnSubmit

    ImageMap

    imap

    imapSite

    Label

    lbl

    lblResults

    LinkButton

    lbtn

    lbtnSubmit

    ListBox

    lst

    lstCountries

    Literal

    ltl

    ltlTitle

    Localize

    loc

    locChina

    MultiView

    mvw

    mvwForm1

    Panel

    pnl

    pnlForm2

    PlaceHolder

    plh

    plhFormContents

    RadioButton

    rad

    radFemale

    RadioButtonList

    radl

    radlGender

    RegularExpression

    vale

    valeEmail_Validator

    Repeater

    rpt

    rptQueryResults

    RequiredFieldValidator

    valr

    valrFirstName

    SubStitution

    subs

    subsTime

    TextBox

    txt

    txtFirstName

    Table

    tbl

    tblCountryCodes

    TableCell

    tblc

    tblcGermany

    TableRow

    tblr

    tblrCountry

    ValidationSummary

    vals

    valsFormErrors

    View

    vw

    vwCity

    Wizard

    wiz

    wizRegister

    二、注释规范

    1. 文件头注释

    /******************************************************************

    * 版权:

    * 功能描述:

    * 创建时间:

    * 作者:

    * 版本:

    * 修订描述:

    * 最后修订日期:

    ******************************************************************/

    三、编码准则

    1. 避免过长的方法,方法体应该少于60行。
    2. 避免使用诸如0,1,2之类的字面状态量,应该使用更有表达意义的const变量或枚举来取代。
    3. 拒绝代码冗余,冗余是代码腐化的根源。
    4. 坚持单一职责原则,一个类只因有一个变化的原因。

    5.   缩进用 TAB,不用 SPACES。

    6.   在每个运算符前后都空一格。

    7.   花括弧 ( {} ) 需和括号外的代码对齐。每个花括弧需独立一行。

    8.   用一个空行来分开代码的逻辑分组。

    9.   在一个类中,各个方法需用一空行,也只能是一行分开。

    10. 注释需和代码对齐。只在必需的地方注释。行数不多的注释会使代码看起来优雅。(前提是你的代码命名有意义和逻辑结构清晰)。

    11. 如果应为某种原因使用了复杂艰涩的原理,为程序配备良好的文档和重分的注释。

    12. 避免在同一个文件中放置多个类。

    13. 避免使用大文件。如果一个文件里的代码超过500行,必须考虑将代码分开到不同类中。

    14. 总是使用接口。避免只有一个成员的接口,努力保证一个接口有3~5个成员。当使用抽象类的时候,提供一个接口。

    15. 一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。

    16. 避免写超过5个参数的方法。如果要传递多个参数,使用结构。

    17. 除了要在switch语句块中实现代码跳转,不要使用goto关键字。

    18. 避免使用很多成员变量。声明局部变量,并传递给方法。不要在方法间共享成员变量。否则很难知道是哪个方法在什么时候修改了它的值。

    19. 在最靠近一个局部变量被使用的地方声明该局部变量。

    20. 避免 string name=””;  正确 string name=String.Empty;

    21. 异常处理

      • 错误消息而应给出具体错误消息和相应的用户需要做的操作。
      • 千万不要捕捉了异常却什么也不做。异常信息要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。 
      • 别写太大的 try-catch 模块。如果需要,为每个执行的任务编写单独的 try-catch 模块。 这将帮你找出哪一段代码产生异常,并给用户发出特定的错误消息如果应用程序需要,可以编写自己的异常类。对自定义的异常类加上后缀Exception。
      • 不必每个方法都用try-catch。当特定的异常可能发生时才使用。不必在所有方法中捕捉一般异常。不管它,让程序崩溃。这将帮助你在开发周期发现大多数的错误。
      • 数据库操作和文件操作时,finally很必要。
  • 相关阅读:
    性能测试时如何确认并发用户数
    web测试误区:浏览器后退键退出系统会话失效
    读书笔记(一)
    Loadrunner参数化数据配置与更新方式
    常见软件测试类型及特点
    Loadrunner录制脚本与编写脚本的区别
    软件测试常见文档要点及区别
    APP测试之Monkey测试
    Python操作Redis大全
    【IntelliJ IDEA】在idea上操作 git分支合并【如何将远程swagger分支 合并到 远程 master分支上】【如何切换 本地分支】
  • 原文地址:https://www.cnblogs.com/senline/p/3532705.html
Copyright © 2011-2022 走看看