• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            C++分析研究  
            C++
            日歷
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456
            統計
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            在編寫代碼的過程中所采用的命名方式經常變動,沒有形成固定的風格。因此,根據從網上收集到的一些資料以及自身的一些經驗,對C++、Java以及C#的命名規范進行了總結,方便以后查詢。

            命名規范的原則:

             盡量采用以前采用過的命名規則;

            盡量在三種語言下采用相同的命名規則,以方便記憶;

            盡量采用來自官方(如Sun、MS)的命名規則。

            1. 匈牙利命名法、Camel命名法與Pascal命名法

            匈牙利命名法:在Windows編程中使用非常普遍,由微軟的一位匈牙利程序員提出。匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴,標識出變量的作用域、類型等。例如,m_lpszStr表示指向一個以0字符結尾的字符串的長指針成員變量。在面向對象的程序設計中匈牙利命名法使用起來非常別扭。

            Camel命名法:即駱駝式命名法,原因是采用該命名法的名稱看起來就像駱駝的駝峰一樣高低起伏。Camel命名法有兩種形式:混合使用大小寫字母和單詞之間加下劃線,例如runFast和run_fast都屬于Camel命名法。

            Pascal命名法:與Camel命名法類似,不過Pascal命名法的首字母為大寫字母。

            2. 命名規范對照表

            標識符類型

            C++

            Java

            C#

            文件名

            與類名相同,定義類是文件名一般成對出現,如FooBar.h和FooBar.cpp對應類FooBar。

            與類名相同。

            同Java。

            名字空間、包

            同C#。

            包名的前綴是全部小寫的ASII字符并且是一個頂級域名,通常是com,edu,gov,net,org。包名的后續部分根據不同機構各自內部的命名規范不盡相同,這類命名規范可能以特定目錄名的組成來區分部門、項目、機器或注冊名。

            示例:

              l com.sun.eng

              l  com..quicktime.v2

              l  edu.cmu.cs.bovik.cheese

            Pascal命名法,且從表示范圍大的名字開始。

            示例:

              l  Oracle.Data.Access;

              l  Microsoft.Office.Excel;

            枚舉值

            Pascal命名法,枚舉值前面加上枚舉類型名,中間以下劃線“_”隔開。

            示例:

              l enum  ColorColor_Red, Color_Green;

            Pascal命名法。

            示例:

              l enum ColorRed,  Green;

            同Java。

            類、結構體、類型定義(typedef)、枚舉類型

            同Java。

            Pascal命名法。

            示例:

              l class  Raster;

              l class  ImageSprite;

            同Java。

            接口

            與類型命名規范相同。

            命名規則與類名相似。

            示例:

              l interface  RasterDelegate;

              l interface  Storing;

            Pascal命名法,前面需要加上字符“I”。

            示例:

              l interface  ITester;

              l interface  ILogger;

            方法

            同C#。

            Camel命名法。

            示例:

              l run();

              l runFast();

              l  getBackGround();

            Pascal命名法。

            示例:

              l Run();

              l RunFast();

              l  GetBackGround();

            方法內的變量及參數

            同Java。

            Camel命名法。

            示例:

              l int  myWidth;

              l int  taxTotal;

            同Java。

            私有、保護實例字段

            同Java。

            Camel命名法,前面需要加一個下劃線“_”。

            示例:

              l int  _employeeId;

              l String  _name;

              l Customer  _customer;

            同Java。

            屬性、存取函數

            Pascal命名法,讀取函數前面加上“Get”,設置函數前面加上“Set”。

            示例:

              l  GetEmployeeId();

              l SetName();

              l  GetCustomer();

            Camel命名法,讀取函數前面加上“get”,設置函數前面加上“set”。

            示例:

              l  getEmployeeId();

              l setName();

              l  getCustomer();

            與方法命名規則相同,應該與字段名稱相同。建議采用自動屬性。

            示例:

            常量

            同Java。

            全部大寫,單詞間用下劃線隔開。

            示例:

              l static final  int MIN_WIDTH = 4;

              l static final  int MAX_WIDTH = 999;

              l static final  int GET_THE_CPU = 1;

            同Java。

            事件

            Pascal命名法。

            示例:

              l  FormClosing;

              l  ValueChanged;

              l  ButtonClicked;

            異常類型

            繼承自std::exception,與類型命名規則相同,且以Exception結尾。

            繼承自java.lang.Exception,與類型命名規則相同,且以Exception結尾。

            繼承自System.Exception,與類型命名規則相同,且以Exception結尾。

            www.haokan118.cn

            www.haosoa.cn

            www.baidulai.com

            posted on 2009-05-23 22:31 HAOSOLA 閱讀(199) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            国产精品久久久久久久久久免费| 欧美黑人激情性久久| 亚洲AV无码成人网站久久精品大| 一本一道久久a久久精品综合| 亚洲精品国产字幕久久不卡| 久久婷婷五月综合色奶水99啪| 精品欧美一区二区三区久久久| 久久久久亚洲av综合波多野结衣| 亚洲国产精品久久66| 亚洲国产精品无码久久一线 | 伊人久久亚洲综合影院| 婷婷五月深深久久精品| 国产免费久久精品丫丫| 久久久一本精品99久久精品88| 香蕉aa三级久久毛片| 国产精品激情综合久久| 久久久一本精品99久久精品66| 亚洲v国产v天堂a无码久久| 久久国产亚洲高清观看| 精产国品久久一二三产区区别 | 国产毛片欧美毛片久久久| 青青草国产成人久久91网| 三上悠亚久久精品| 7777精品伊人久久久大香线蕉| 国产一区二区精品久久岳| 久久青青草原精品影院| 国产一级持黄大片99久久| 久久精品中文騷妇女内射| 日本WV一本一道久久香蕉| 久久最新免费视频| 亚洲欧美一区二区三区久久| 久久亚洲国产精品五月天婷| 色噜噜狠狠先锋影音久久| 国产亚洲婷婷香蕉久久精品| 国产精品久久久久久影院| 国产精品va久久久久久久| 久久青草国产精品一区| 9191精品国产免费久久| 国产激情久久久久影院老熟女| 久久se精品一区二区| 一级做a爰片久久毛片人呢|