成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
由于在開發工作中經常用到C++、Java和C#作為開發語言,命名規范的問題經常給我造成一些困擾。一方面命名規范沒有唯一的標準答案,另一方面,雖說語言的命名規范并沒有固定的形式,三種語言的風格畢竟不太一樣,也各自有著一些獨特的特點。本文將對C++、Java與C#的命名規范進行總結。

在編寫代碼的過程中所采用的命名方式經常變動,沒有形成固定的風格。因此,根據從網上收集到的一些資料以及自身的一些經驗,對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.apple.quicktime.v2

l edu.cmu.cs.bovik.cheese

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

示例:

l Oracle.Data.Access;

l Microsoft.Office.Excel;

枚舉值

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”。

示例:

interface ITester;

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結尾。

【編輯推薦】

  1. C#3.0中自動屬性和對象初始化器
  2. 簡述用C#實現優先隊列方法
  3. 橫向技術分析C#、C++和Java優劣
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-08-21 08:52:40

C#語言命名

2009-09-01 15:08:07

C#命名規范

2009-08-13 13:38:30

C#命名規范

2009-08-27 16:30:08

C#編程命名規范

2009-07-31 18:18:33

Camel命名法C#命名規范

2010-01-28 14:38:36

C++和C#、Java

2016-01-28 14:41:06

CC++編碼

2010-01-15 18:35:25

C++的類

2009-08-13 17:30:30

C#構造函數

2009-09-01 16:07:04

C#命名規約

2017-09-18 08:53:28

編程語言ERP補丁管理

2009-08-19 10:09:21

C#和C++

2011-07-20 16:16:03

CC++

2009-09-01 16:12:41

C#命名指南

2011-05-18 17:56:38

C#C++

2009-08-28 10:14:45

C#內存泄露

2009-09-04 17:34:11

C#CC++

2009-11-17 09:07:55

靜態構造函數

2011-06-14 12:27:38

C#C++

2011-05-18 18:05:47

C#C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品无码久久久久久久动漫 | 视频一区二区在线 | 欧美精品久久久久久 | 欧美日韩三级在线观看 | 久久久久久久久久久久91 | 黄色av网站免费看 | 欧美成人一区二区三区片免费 | 午夜小视频免费观看 | 久久国产成人午夜av影院武则天 | 亚洲性在线 | 91久久精品视频 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 夜夜操天天操 | 中文字幕日韩欧美一区二区三区 | 日韩av电影在线观看 | 在线观看免费福利 | 中文字幕亚洲一区二区三区 | 91国内精精品久久久久久婷婷 | 美女黄网站视频免费 | 久久99精品久久久久久国产越南 | 亚洲精品成人 | 视频一区二区在线观看 | 日韩久草 | 欧美一区中文字幕 | 亚洲视频区 | 国产精品久久精品 | 一区二区三区四区电影 | 国产一区不卡在线观看 | 97精品超碰一区二区三区 | 一区二区三区欧美在线 | 天天射天天操天天干 | 国产区在线观看 | 午夜在线| 日韩在线精品视频 | 亚洲免费观看视频网站 | 日操操夜操操 | 欧美天堂 | 一区二区三区免费在线观看 | 国产你懂的在线观看 | 91精品国产91久久综合桃花 | 国产视频一区二区在线观看 |