• C#命名规范


    C#命名规范



    MyData 
    就是一个帕斯卡命名的示例

    myData
    是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼

    iMyData
    是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途.

    变量命名规范:

    内联变量 必须一骆驼camel命名法声明:
    for example: uName,uPass;

    类变量(成员变量同上,但一定要以一个下划线开始!
    for example: _mySqlConn

    常量命名规范:
    带有私有访问修饰的常量必须以骆驼命名法声明,并以一个下划线开始,
    for example: private int _SHOW_COUNT=20;

    带有公有修饰符.受保护修饰符的常量必须以帕斯卡命名法声明,
    for example: protected int COUNT=20;

    数组必须以骆驼命名法声明 for example: string[5] nameArray;
    string[] nameArray=new string[5];
    int[] userAge={20,30,21,22,25,24,22};

    结构命名规范:
    结构必须以帕斯卡命名法声明,用词或者短语作为声明的首选!
    for example: public struct StructName{
    //
    结构体!
    }

    枚举命名规范:
    枚举必须以帕斯卡命名规范命名:
    for example: public enum WeekDays{
    //
    结构体
    }



    =============================================================================

    数据类型

    数据类型简写

    标准命名举例

    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

     

    控件类型

    缩写

    示例

    Animated button

    ani

    aniMailBox

    Button

    btn

     

    Check box

    chk

    chkReadOnly

    ColorDialog

    clrdlg

     

    Combobox,drop-down list box

    cbo

    cboEnglish

    Communications

    com

    comFax

    ContextMenu

    ctxmnu

     

    Control(used within procedures when the specific type is unknown)

    ctr

    ctrCurrent

    CrystalReportViewer

    crvw

     

    Data

    dat

    datBiblio

    Data grid

    dgd

    dgdTitles

    Data list

    dbl

    dblPublisher

    Data repeater

    drp

    drpLocation

    Data-bound combo box

    dbcbo

    dbcboLanguage

    Data-bound grid

    dbgrd

    dbgrdQueryResult

    Data-bound list box

    dblst

    dblstJobType

    Datetime picker

    dtp

    dtpPublished

    Directory list box

    dir

    dirSource

    DomainUpDown

    dupd

     

    Drive list box

    drv

    drvTarget

    ErrorProvider

    err

     

    File list box

    fil

    filSource

    Flat scroll bar

    fsb

    fsbMove

    FontDialog

    fntdlg

     

    Form

    frm

    frmEntry

    Frame

    fra

    fraLanguage

    Gauge

    gau

    gauStatus

    Graph

    gra

    graRevenue

    Grid

    grd

    grdPrices

    GroupBox

    grp

     

    HelpProvider

    hlp

     

    Hierarchical flexgrid

    flex

    flexOrders

    HScroll bar

    hsb

    hsbVolume

    Image

    img

    imgIcon

    Image combo

    imgcbo

    imgcboProduct

    ImageList

    ils

    ilsAllIcons

    Label

    lbl

    lblHelpMessage

    Line

    lin

    linVertical

    LinkLabel

    lnk

     

    List box

    lst

    lstPolicyCodes

    ListView

    lvw

    lvwHeadings

    MAPI message

    mpm

    mpmSentMessage

    MAPI session

    mps

    mpsSession

    MCI

    mci

    mciVideo

    Menu

    mnu

    mnuFileOpen

    Month view

    mvw

    mvwPeriod

    MonthCalendar

    mcl

     

    MS Chart

    ch

    chSalesbyRegion

    MS Flex grid

    msg

    msgClients

    MS Tab

    mst

    mstFirst

    NotifyIcon

    nti

     

    NumericUpDown

    nupd

     

    OLE container

    ole

    oleWorksheet

    OpenFileDialog

    ofdlg

     

    PageSetUpDialog

    psdlg

     

    Picture box

    pic

    picVGA

    Picture clip

    clp

    clpToolbar

    PrintDocument

    prndoc

     

    PrintPreviewControl

    ppctl

     

    PrintPreviewDialog

    ppdlg

     

    ProgressBar

    prg

    prgLoadFile

    RadioButton

    rbtn

     

    Remote Data

    rd

    rdTitles

    RichTextBox

    rtf

    rtfReport

    SaveFileDialog

    sfdlg

     

    Shape

    shp

    shpCircle

    Slider

    sld

    sldScale

    Spin

    spn

    spnPages

    Splitter

    spt

     

    StatusBar

    sta

    staDateTime

    SysInfo

    sys

    sysMonitor

    TabContrl

    tab

     

    TabStrip

    tab

    tabOptions

    Text box

    txt

    txtLastName

    Timer

    tmr

    tmrAlarm

    Toolbar

    tlb

    tlbActions

    TrackBar

    trb

     

    TreeView

    tre

    treOrganization

    UpDown

    upd

    updDirection

    VScroll bar

    vsb

    vsbRate





    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

    chk

    chkBlue

    CheckBoxList

    chkl

    chklFavColors

    CompareValidator

    valc

    valcValidAge

    CustomValidator

    valx

    valxDBCheck

    DataGrid

    dgrd

    dgrdTitles

    DataList

    dlst

    dlstTitles

    DropDownList

    drop

    dropCountries

    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









    ======================================================================


    part2.

    C# Coding Standard 



    一、命名 



    1.
    pascal规则来命名方法和类型

    public class TextBox 



    public void DataBind() 









    2.
    camel规则来命名局部变量和方法的参数

    string userName; 

    public AddUser(string userId, byte[] password); 



    3.
    所有的成员变量前加前缀 m_ 

    public class Database 



    public string m_connectionString; 





    4.
    接口的名称加前缀 I. 

    interface ICompare 



    int compare(); 





    5.
    自定义的属性以Attribute结尾 

    public class AuthorAttribute : Attribute 







    6.
    自定义的异常以Exception结尾 

    public class AppException : Exception 







    7.
    方法的命名.一般将其命名为动宾短语

    ShowDialog() 

    CreateFile() 

    GetPath() 



    8.
    代码的缩进.要用Tab,而不要用space. 



    9.
    局部变量的名称要有意义.不要用xyz等等

    string userName 



    10.
    所有的成员变量声明在类的顶端,用一个换行把它和方法分开



    11.
    用有意义的名字命名namespace,如:产品名、公司名



    12.
    建议局部变量在最接近使用它时再声明



    13.
    使用某个控件的值时,尽量命名局部变量



    14.
    把引用的系统的namespace和自定义或第三方的分开



    15.
    文件名要能反应类的内容,最好是和类同名,一个文件中一个类



    16.
    目录结构中要反应出namespace的层次



    17.
    大括号"{"要新起一行

    public class AuthorAttribute : Attribute 







    二、编码习惯

    1.
    C#预定义的类名,而不要用别名

    string userName; 
    而不是 System.String userName; 

    int number; 
    而不是 System.Int32; 



    2.
    一行不要超过80个字符



    3.
    尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样



    4.
    关键的语句(包括声明关键的变量)必须要写注释



    5.
    文字常量和数字常量不要硬编码,应该用常量类或枚举代替



    6.
    不要用goto系列语句



    7.
    不要声明publicprotected的成员变量,应用property. 



    8.
    不要声明publicevent,应用事件访问器

    public class Source 



    private EventHandler m_NumberChangeEvent; 



    public event EventHandler NumberChangeEvent 



    add 



    m_NumberChangeEvent += value; 





    remove 



    m_NumberChangeEvent -= value; 









    9.
    类型转换的使用规则

    Animal animal = new Dog(); 

    Dog dog = animal as Dog; 

    if (dog != null) 







    10.
    生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string. 



    11.
    始终使用"{ }"包含if下的语句,即使只有一条语句



    12.switch
    语句一定要有default来处理意外情况



    13.
    尽量不要使用三目运算符 ? : ,而要使用if语句



    14.
    尽量不用使用this引用,除非是要调用类中的另一个Constructor. 

    public class Person 



    public Person(string name) 







    public Person() : this("Jim") 





    }

  • 相关阅读:
    26. Remove Duplicates from Sorted Array
    Luogu1879 [USACO06NOV]玉米田Corn Fields (状压DP)
    Luogu1655 小朋友的球 (组合数学,第二类斯特林数,高精)
    Luogu4408 [NOI2003]逃学的小孩 (树的直径)
    Luogu2574 XOR的艺术 (分块)
    Luogu3740 [HAOI2014]贴海报 (线段树)
    LuoguU72177 火星人plus (逆康拓展开)
    Luogu1919 【模板】A*B Problem升级版(FFT)
    Luogu5367 【模板】康托展开 (康拓展开)
    Luogu1088 火星人 (康托展开)
  • 原文地址:https://www.cnblogs.com/jiangchongwei/p/2446045.html
Copyright © 2020-2023  润新知