熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C++、Java與C#的命名規范總結

2013-11-13 10:28:52  來源: .NET編程 

  摘要由於在開發工作中經常用到C++Java和C#作為開發語言命名規范的問題經常給我造成一些困擾一方面命名規范沒有唯一的標准答案另一方面雖說語言的命名規范並沒有固定的形式三種語言的風格畢竟不太一樣也各自有著一些獨特的特點本文將對C++Java與C#的命名規范進行總結
 
  在編寫代碼的過程中所采用的命名方式經常變動沒有形成固定的風格因此根據從網上收集到的一些資料以及自身的一些經驗對C++Java以及C#的命名規范進行了總結方便以後查詢
 
  命名規范的原則◆ 盡量采用以前采用過的命名規則◆盡量在三種語言下采用相同的命名規則以方便記憶◆盡量采用來自官方(如SunMS)的命名規則
 
   匈牙利命名法Camel命名法與Pascal命名法匈牙利命名法在Windows編程中使用非常普遍由微軟的一位匈牙利程序員提出匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴標識出變量的作用域類型等例如m_lpszStr表示指向一個以字符結尾的字符串的長指針成員變量在面向對象的程序設計中匈牙利命名法使用起來非常別扭
 
  Camel命名法即駱駝式命名法原因是采用該命名法的名稱看起來就像駱駝的駝峰一樣高低起伏Camel命名法有兩種形式混合使用大小寫字母和單詞之間加下劃線

  例如runFast和run_fast都屬於Camel命名法
 
  Pascal命名法與Camel命名法類似不過Pascal命名法的首字母為大寫字母
  命名規范對照表


  標識符類型

  C++

  Java

  C#

  文件名

  與類名相同定義類是文件名一般成對出現如FooBarh和FooBarcpp對應類FooBar

  與類名相同

  同Java

  名字空間

  同C#

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

  示例

  l comsuneng

  l comapplequicktimev

  l educmucsbovikcheese

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

  示例

  l OracleDataAccess;

  l MicrosoftOfficeExcel;

  枚舉值

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

  示例

  l enum Color{Color_Red Color_Green};

  Pascal命名法

  示例

  l enum Color{Red 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 = ;

  l static final int MAX_WIDTH = ;

  l static final int GET_THE_CPU = ;

  同Java

  事件

  無

  無

  Pascal命名法

  示例

  l FormClosing;

  l ValueChanged;

  l ButtonClicked;

  異常類型

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

  繼承自javalangException與類型命名規則相同且以Exception結尾

  繼承自SystemException與類型命名規則相同且以Exception結尾


From:http://tw.wingwit.com/Article/program/net/201311/13779.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.