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

C++標識符命名規則相關應用技巧分享

開發 后端
C++標識符命名規則是一個比較基礎的內容,但是對于初學者來說要想完全掌握它還是比較困難的。在這里將會對此進行詳細介紹。

作為一個經?;鞈鹋c開發領域的編程人員來說,掌握兩門以上的編程語言是他們制勝的必備法寶。其中C++語言就是其中一個重要的選擇。在這里我們將會為大家介紹一下C++標識符命名規則的一些概念。

命名規則比較著名的命名規則當推Microsoft公司的“匈牙利”法,該命名規則的主要思想是“在變量和函數名中加入前綴以增進人們對程序的理解”。例如所有的字符變量均以ch為前綴,若是指針變量則追加前綴p。如果一個變量由ppch開頭,則表明它是指向字符指針的指針。“匈牙利”法***的缺點是煩瑣,例如

  1. int i, j, k;   
  2. float x, y, z; 

倘若采用“匈牙利”命名規則,則應當寫成:int iI, iJ, ik; // 前綴 i表示int類型float fX, fY, fZ; // 前綴 f表示float類型如此煩瑣的程序會讓絕大多數程序員無法忍受。據考察,沒有一種命名規則可以讓所有的程序員贊同,程序設計教科書一般都不指定命名規則。命名規則對軟件產品而言并不是“成敗悠關”的事,我們不要化太多精力試圖發明世界上***的命名。#t#

規則,而應當制定一種令大多數項目成員滿意的命名規則,并在項目中貫徹實施。3.1 共性規則本節論述的共性規則是被大多數程序員采納的,我們應當在遵循這些共性規則的前提下,再擴充特定的規則。

標識符應當直觀且可以拼讀,可望文知意,不必進行“解碼”。

標識符***采用英文單詞或其組合,便于記憶和閱讀。切忌使用漢語拼音來命名。程序中的英文單詞一般不會太復雜,用詞應當準確。例如不要把CurrentValue寫成NowValue。

標識符的長度應當符合“min-length && max-information”原則。

幾十年前老ANSI C規定名字不準超過6個字符,現今的C++/C不再有此限制。一般來說,長名字能更好地表達含義,所以函數名、變量名、類名長達十幾個字符不足為怪。那么名字是否越長約好?不見得! 例如變量名maxval maxValueUntilOverflow好用。單字符的名字也是有用的,常見的如i,j,k,m,n,x,y,z等,它們通??捎米骱瘮祪鹊木植孔兞?。

C++標識符命名規則盡量與所采用的操作系統或開發工具的風格保持一致。

例如Windows應用程序的標識符通常采用“大小寫”混排的方式,如AddChild。而Unix應用程序的標識符通常采用“小寫加下劃線”的方式,如add_child。別把這兩類風格混在一起用。

程序中不要出現僅靠大小寫區分的相似的標識符。

例如:

  1. int x, X; // 變量x 與 X 容易混淆void foo(int x); // 函數foo 與FOO容易混淆  
  2. void FOO(float x); 

 

程序中不要出現標識符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會發生語法錯誤,但會使人誤解?!疽巹t3-1-6】變量的名字應當使用“名詞”或者“形容詞+名詞”。
例如:

  1. float value;  
  2. float oldValue;  
  3. float newValue; 

 

全局函數的名字應當使用“動詞”或者“動詞+名詞”(動賓詞組)。類的成員函數應當只使用“動詞”,被省略掉的名詞就是對象本身。例如:

  1. DrawBox(); // 全局函數  
  2. box->Draw(); // 類的成員函數 

 


用正確的反義詞組命名具有互斥意義的變量或相反動作的函數等。例如:

  1. int minValue;  
  2. int maxValue;  
  3. int SetValue(…);  
  4. int GetValue(…); 

 

盡量避免名字中出現數字編號,如Value1,Value2等,除非邏輯上的確需要編號。這是為了防止程序員偷懶,不肯為命名動腦筋而導致產生無意義的名字(因為用數字編號最省事)。簡單的Windows應用程序命名規則作者對“匈牙利”命名規則做了合理的簡化,下述的C++標識符命名規則簡單易用,比較適合于Windows應用軟件的開發。

類名和函數名用大寫字母開頭的單詞組合而成。例如:

  1. class Node; // 類名  
  2. class LeafNode; // 類名  
  3. void Draw(void); // 函數名  
  4. void SetValue(int value); // 函數名l 

 

變量和參數用小寫字母開頭的單詞組合而成。例如:

  1. BOOL flag;  
  2. int drawMode; 

 

常量全用大寫的字母,用下劃線分割單詞。例如:

  1. const int MAX = 100;const int MAX_LENGTH = 100

靜態變量加前綴s_(表示static)。例如:

  1. void Init(…)  
  2. {  
  3. static int s_initValue; // 靜態變量  
  4. …  

 

如果不得已需要全局變量,則使全局變量加前綴g_(表示global)。例如:

  1. int g_howManyPeople; // 全局變量  
  2. int g_howMuchMoney; // 全局變量 

 

類的數據成員加前綴m_(表示member),這樣可以避免數據成員與成員函數的參數同名。例如:

  1. void Object::SetValue(int width, int height)  
  2. {  
  3. m_width = width;  
  4. m_height = height;  

 

為了防止某一軟件庫中的一些標識符和其它軟件庫中的沖突,可以為各種標識符加上能反映軟件性質的前綴。例如三維圖形標準OpenGL的所有庫函數均以gl開頭,所有常量(或宏定義)均以GL開頭。

以上就是對C++標識符命名規則的相關介紹。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-05 13:44:06

C++ eof()函數

2010-02-01 11:13:00

C++ Traits

2021-04-25 08:11:57

C語言常量與變量標識符命名規范

2010-02-06 13:47:08

C++標準擴展

2010-02-04 14:58:06

C++內存分配

2010-02-01 17:09:07

C++鏈表操作

2010-02-06 10:24:48

C++二維數組初始化

2010-02-06 16:16:01

C++冒泡排序

2010-02-05 18:04:21

C++剪切板

2009-12-29 16:08:41

Silverlight

2010-01-18 10:16:58

學習C++

2011-07-13 16:36:11

C++

2010-02-03 15:35:00

C++輸入輸出漢字

2010-01-28 10:55:14

Android電源管理

2009-12-30 10:25:03

Silverlight

2009-08-26 14:01:18

C#標識符

2010-02-06 13:52:39

C++ profile

2010-03-04 14:39:52

Python讀取輸入值

2010-02-06 15:49:31

刪除C++容器值

2010-02-06 17:09:29

C++文件拷貝
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本精品在线播放 | 国产一区二区在线免费 | 欧美国产一区二区三区 | 一区二区不卡视频 | aaaa网站 | 最新av中文字幕 | 日本午夜免费福利视频 | 99re国产视频 | 国产精品视频不卡 | 亚洲精品国产一区 | 国产sm主人调教女m视频 | 精产国产伦理一二三区 | 丁香婷婷久久久综合精品国产 | 成人av在线播放 | 久久99视频精品 | 四虎影院在线观看免费视频 | 久久久久久久久久久久久久av | 国产日屁 | 青娱乐av | 人人射人人插 | 国产成人综合亚洲欧美94在线 | 欧美日韩在线一区二区三区 | 亚洲一区视频在线 | 国产免费自拍 | 国内av在线| 国产一区二区三区在线 | 成人免费观看视频 | 欧美国产视频一区二区 | 国产一级淫片免费视频 | 午夜寂寞影院列表 | 中文字幕视频在线观看免费 | 中文字幕成人av | 日韩理论电影在线观看 | 成人国产精品久久久 | 日韩在线不卡 | 欧美极品一区二区 | 国产精品区一区二区三 | 国产精品久久精品 | 婷婷成人在线 | 日本在线播放一区二区 | av免费电影在线 |