1. 程式人生 > >C++常用命名法與書寫規範

C++常用命名法與書寫規範

常用命名法有三種:

這三種命名方法各有千秋,以莊子的齊物論來說就是“道無終始,物有死生,不恃其成”。我們要“吸百家之長,圓我代

碼功夫”,廢話說了幾行了,綜合出來的程式碼規範如下:

一、識別符號

1、簡單、合理、準確的英文單詞(不要縮寫),切忌漢語拼音。(eg:不要把CurrentWidth寫出NowWidth)

2、不要僅靠大小寫區分識別符號

3、避免一個識別符號多種定義、避免出現數字編號、避免在不同作用域重名

4、寫庫函式或介面開發時,增加庫標識頭

二、型別【限定符(const等)+修飾符(long等)+資料型別(int等)+指標(*)+成員變數名】

1、指標應該應該緊靠資料型別(eg:int* m_nWidth)

2、變數字首:類的成員m_,靜態變數s_,外部全域性變數g_,靜態全域性變數sg_,共享全域性變數gg_

3、型別字首:bool--b,char--ch,int--n,long--l,float-f,double--d,指標-p,enum-e,陣列--g

4、常量及巨集定義:全部大寫

三、結構 

1、if、for、switch等關鍵字獨佔一行,後面跟半個“{”,作用域結束用“}”,作用域內僅一條語句也這麼寫

  eg:if(m_nWidth==19){
  m_nWidth=20;

  }

2、長行拆分(超過一般函式會折行顯示)

3、對於演算法較複雜的加小括號修飾

4、儘量減少多繼承、儘量不使用操作符過載

四、函式 

1、作業系統風格:Windows風格--GetWidth()、Linux風格--get_width()(注:Qt風格--getWidth())

2、行內函數定義在標頭檔案,inline關鍵字在最前(eg:inline int getWidth(){return m_nWidth;})

3、Qt的槽函式以on開頭(eg:onGetWidth())

4、Qt的訊號函式以sig開頭(eg:sigClicked())

5、取值函式若只返回一個值或只有簡單操作,後加const限定符。

6、為防止建構函式隱式轉換,加explicit關鍵字

7、實現虛擬函式是,加virtual關鍵字明確函式型別

五、其他

1、註釋、在程式碼的上邊、右邊、或結束位置,函式的註釋寫在標頭檔案

2、結構體、聯合體、列舉、類名的首字母大寫

3、好的宣告次序:typedefs和enums,常量,建構函式,解構函式,成員函式,資料成員

相關推薦

C++常用命名書寫規範

常用命名法有三種:這三種命名方法各有千秋,以莊子的齊物論來說就是“道無終始,物有死生,不恃其成”。我們要“吸百家之長,圓我代碼功夫”,廢話說了幾行了,綜合出來的程式碼規範如下:一、識別符號1、簡單、合理

C#常用IO流讀寫檔案

1.檔案系統 (1)檔案系統類的介紹     檔案操作類大都在System.IO名稱空間裡。FileSystemInfo類是任何檔案系統類的基類;FileInfo與File表示檔案系統中的檔案;DirectoryInfo與Directory表示檔案系統中的資料夾;Path表

C/C++ 常用的函式方法

1,建立多級目錄 #include <string> #include <direct.h> //_mkdir函式的標頭檔案 #include <io.h> //_access函式的標頭檔案 using name

C++類的設計實現規範

規範是一種規定,遵守這種規定能夠帶來長遠的利益,而違反這種規定卻不會立即收到懲罰。程式設計的規範是人們在長期的程式設計實踐中總結出來的,深入理解這些規範需要認真的思考和大量的實踐 。不符合程式設計規範的程式碼也能通過編譯並執行,但是從長遠來看,程式碼存在可讀性差

虛擬碼的閱讀書寫規範

虛擬碼的使用  虛擬碼(Pseudocode)是一種演算法描述語言。使用為程式碼的目的是為了使被描述的演算法可以容易地以任何一種程式語言(Pascal, C, Java, etc)實現。因此

C語言中變數名及函式名的命名規則駝峰命名

一、C語言變數名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error  float 為保留字不允許用); 二、函式名的命名規則 1.見名知意;2.自定義函式函式名首字

C語言中變量名及函數名的命名規則駝峰命名

char 都是 this 表示 介紹 程序設計 代碼 必須 不同的 一、C語言變量名的命名規則:(可以字母,數字,下劃線混合使用) 1. 只能以字母或下劃線開始;2. 不能以數字開始;3. 一般小寫;4. 關鍵字不允許用(eg:int float=2//error fl

駱駝命名和模態對話框非模態的對話框

混合 evel 置頂 ring int 字節 適合 函數庫 unix 駱駝式命名法(Camel-Case)又稱駝峰命名法,是電腦程式編寫時的一套命名規則(慣例)。正如它的名稱CamelCase所表示的那樣,是指混合使用大小寫字母來構成變量和函數的名字。程序員們為了自己的代碼

c++ 常用數據類型,命名規則

不能 out ins urn 下劃線 數字 數據 spa ostream 1. 常用數據類型 最大值0111111111111111 = 32767最小值1000000000000000 = -32768 short 最低16位 2**7 - 1 負值:

C++ 命名管道 Winform跨進程通信

系統 https 內容 .net 聯系 targe 包裝 進程 實現 以下是.NET命名管道解決方案中幾個主要的類。 NamedPipeNative:這個類和kernal32.dll聯系實現命名管道的通信,其中包含一些常用方法和常量。 NamedPipeWrappe

(15)shell編程書寫規範執行方式

註釋 tro ont 分享 bin 技術 rst 執行 開頭 #!/bin/bash    (固定開頭) # 註釋(腳本中) cat 1.sh  查看腳本 1.執行腳本   1)先給腳本執行權限     chmod 744 1.sh 或 chmo

命名規範及部分書寫規範----參照阿裏巴巴java開發手冊

實現類 toc tcpudp size 全部 sla 工具類 apr alibaba 只列一些我能看懂的.... 1類名使用 UpperCamelCase 風格,必須遵從駝峰形式,但以下情形例外:DO / BO / DTO / VO / AO   正例:MarcoPolo

C#算數據結構之線性結構

data tno 數據結構 image 存滿 sta als bre adk 線性結構是什麽?   線性結構是一種數據結構,它有一對一的關系,就像一個長對,一個接一個,特點是,除第一個元素和最後一個元素外,其它元素前後只有一個元素。   簡單示例1: st

實現求解線性方程(矩陣、高斯消去)------c++程序設計原理實踐(進階篇)

ipy 類型 cat sys sca solution gaussian 拷貝 img 步驟: 其中A是一個n*n的系數方陣 向量x和b分別是未知數和常量向量: 這個系統可能有0個、1個或者無窮多個解,這取決於系數矩陣A和向量b。求解線性系統的方法有很多,這裏使用一種經典

[14]C++算數據結構(2017版)[2.7G]

get 算法 str aid spm mage 視頻 淘寶 span 視頻試看鏈接:https://pan.baidu.com/s/1i57ZIAh 淘寶購買鏈接:https://item.taobao.com/item.htm?spm=0.7095261.0.0.64a

C++常用庫函數&&C++實用技巧模版庫 PDF文件

模版 jpg clas 詳細 body 鏈接 https 信息 實用 如題所示 分享一些函數 pdf文件來自《信息學奧賽一本通》 詳細請見鏈接: https://pan.baidu.com/s/1jKqwH50 密碼: t28b C++常用庫函數&&C

[Java拾遺一] XML的書寫規範解析.

有一個 如何 oca 2.x 可擴展 learning tar 開發 ring 前言今天天氣大好, 起了個大早開始總結一些常用的基礎知識. XML一直來說都很陌生, 使用大多是用於配置文件, 之前並沒有細究過其中的約束規範, 今天剛好沒事來學習並總結下. 1,XML基

Java常用的八種排序算代碼實現

!= end 缺點 第一步 rem ava 得到 href 構建 排序問題一直是程序員工作與面試的重點,今天特意整理研究下與大家共勉!這裏列出8種常見的經典排序,基本涵蓋了所有的排序算法。 1.直接插入排序 我們經常會到這樣一類排序問題:把新的數據插入到已經排

常用(二)選擇排序冒泡排序

true .com sele mage ever 最終 不穩定排序 換來 ima 一、選擇排序 簡單選擇排序是最簡單直觀的一種算法,基本思想為每一趟從待排序的數據元素中選擇最小(或最大)的一個元素作為首元素,直到所有元素排完為止,簡單選擇排序是不穩定排序。 在算法實現時,每

前言目錄-java常用手冊(零)

java 算法思想 前言 這一 p s 就是 mar 手冊 關於 假期得空看完了這本吃灰好久的書了,這一的帖子就是關於讀這本書的筆記與思考吧 帖子大致內容: 何為算法 java語法 數據結構 算法思想 算法應用 等 前言與目錄-java常用算法手冊(零)