• C#变量命名中的[匈牙利命名法][骆驼命名法][帕斯卡(pascal)命名法]


    一、匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中。

          Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。

    匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。

        匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

    匈牙利命名法中常用的小写字母的前缀:

    前 缀       类  型
    a               数组 (Array)
    b               布尔值 (Boolean)
    by             字节 (Byte)
    c              有符号字符 (Char)
    cb            无符号字符 (Char Byte,没有多少人用)
    cr             颜色参考值 (ColorRef)
    cx,cy         坐标差(长度 ShortInt)
    dw           Double Word
    fn              函数
    h                Handle(句柄)
    i                整型
    l              长整型 (Long Int)
    lp             Long Pointer
    m_          类的成员
    n            短整型 (Short Int)
    np          Near Pointer
    p            Pointer
    s           字符串型
    sz         以null做结尾的字符串型 (String with Zero End)
    w        Word


    二、骆驼命名法:

            骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

       printEmployeePaychecks();

        print_employee_paychecks();

         第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

        骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft
    Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。


    三、帕斯卡(pascal)命名法:

           与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

           如:public void
    DisplayInfo();

                  string UserName;

                  二者都是采用了帕斯卡命名法.


    在C#中,以帕斯卡命名法和骆驼命名法居多。


    简单说

    MyData 就是一個帕斯卡命名的示例
    而myData是一個骆驼命名法,它第一個單詞的第一個字母小寫,後面的單詞首字母大寫,看起來像一個骆驼
    而iMyData是一個匈牙利命名法,它的小寫的i說明了它的型態,後面的和帕斯卡命名相同,指示了該變量的用途.

    本文为了方便大家工作,特总结了以下C#命名规范。有了这些C#命名规范,今后在工作中就能更加规范化和标准化。

        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

        C#命名规范相关介绍与总结就到这里。

  • 相关阅读:
    微信抢红包算法备注
    APP测试-drozer安装和使用
    APP测试--应用签名信息检测
    绕过CDN获得网站真实IP
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5 in position 9: ordinal not in range(128)
    检查APP 数据库.xml文件
    APP本地数据库安全
    APP重新打包签名
    APP完整性检测
    dex2jar和jd-gui联合使用查看代码是否经过混淆处理或者加壳
  • 原文地址:https://www.cnblogs.com/stalwart/p/1740465.html
Copyright © 2020-2023  润新知