欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

代碼編程規(guī)范之命名規(guī)范

汽車電子技術(shù) ? 來(lái)源:大橙子瘋嵌入式 ? 作者: 大橙子瘋 ? 2023-02-15 14:57 ? 次閱讀

前言

這篇重點(diǎn)介紹一下代碼編程的命名規(guī)范,主要是業(yè)界流行的命名法則和標(biāo)識(shí)符命名規(guī)范

標(biāo)識(shí)符的命名規(guī)則歷來(lái)是一個(gè)敏感話題,典型的命名風(fēng)格如unix風(fēng)格、windows風(fēng)格等,從來(lái)無(wú)法達(dá)成共識(shí)。實(shí)際上,各種風(fēng)格都有其優(yōu)勢(shì)也有其劣勢(shì),而且往往和個(gè)人的審美觀有關(guān)。對(duì)標(biāo)識(shí)符定義主要是為了讓團(tuán)隊(duì)的代碼看起來(lái)盡可能統(tǒng)一,有利于代碼的后續(xù)閱讀和修改。

命名完全體現(xiàn)了程序的可閱讀性和可理解性,在一定程度上是不需要寫注釋也能看懂代碼。

命名法則介紹

目前,業(yè)界共有四種命名法則:駝峰命名法、匈牙利命名法、帕斯卡命名法和下劃線命名法,其中前三種是較為流行的命名法。

1printEmployeePaychecks// 駝峰命名法                                 
2
3print_employee_paychecks//下劃線命名法
4
5PrintEmployeePaychecks// 帕斯卡命名法

其中,駝峰命名法和帕斯卡命名法類似,但是區(qū)別在第一個(gè)字母是否大小寫,因此駝峰命名法一般稱小駝峰命名法,帕斯卡命名法稱大駝峰命名法。


駝峰命名法

正如它的名稱所表示的那樣,是指混合使用大小寫字母來(lái)構(gòu)成變量和函數(shù)的名字(這樣的變量名看上去就像駱駝峰一樣此起彼伏,故得名),又叫小駝峰命名法。

當(dāng)變量名或函數(shù)名是由一個(gè)或多個(gè)單詞連結(jié)在一起,而構(gòu)成的唯一識(shí)別字時(shí),第一個(gè)單詞以小寫字母開(kāi)始;從第二個(gè)單詞開(kāi)始以后的每個(gè)單詞的首字母都采用大寫字母。

1printEmployeePaychecks

匈牙利命名法

通過(guò)在變量名前面加上相應(yīng)的小寫字母的符號(hào)標(biāo)識(shí)作為前綴,標(biāo)識(shí)出變量的作用域、類型等。這些符號(hào)可以多個(gè)同時(shí)使用,順序是先m_(成員變量)、再指針、再簡(jiǎn)單數(shù)據(jù)類型、再其它。這樣做的好處在于能增加程序的可讀性,便于對(duì)程序的理解和維護(hù)

匈牙利命名法的規(guī)則是:作用域(屬性)+類型+描述。

如:定義一個(gè)全局變量,指向類型為int的最小值指針,變量命名為

int g_pMinValue = NULL;

以下是我根據(jù)匈牙利命名法總結(jié)的的寫法對(duì)應(yīng)表

分類 前綴 描述
作用域(屬性) 無(wú) 局部變量
m_ 類成員變量(C++
ms_ 類的靜態(tài)成員變量(C++)
s_ 靜態(tài)變量
g_ 全局變量
sg_ 靜態(tài)全局變量
c 常量
類型 b bool 變量,不過(guò)我一般是用 is,如定義一個(gè)數(shù)據(jù)接收完成標(biāo)志,則 bool isRecvEnd;
sz 以 '\\0' 結(jié)束的字符串
str string 類型字符串(C++)
p 指針變量
uc 無(wú)符號(hào)單字節(jié)整數(shù)型(unsigned char)
us 無(wú)符號(hào)雙字節(jié)整數(shù)型(unsigned short)
ui 無(wú)符號(hào)四字節(jié)整數(shù)型(unsigned int)
c 有符號(hào)單字節(jié)整數(shù)型(signed char)
s 有符號(hào)雙字節(jié)整數(shù)型(signed short)
i 有符號(hào)四字節(jié)整數(shù)型(signed int)
arr 數(shù)組
l 長(zhǎng)整型
f 浮點(diǎn)型變量
pfn 函數(shù)指針
t 結(jié)構(gòu)體變量
e 枚舉變量
類型前綴可以組合使用,例如"arrc"表示字符數(shù)組,"psz"表示指向以'\\0'結(jié)束的字符串的指針等等

有看過(guò)我代碼的朋友可能就會(huì)有疑問(wèn)了,為什么我寫的代碼中關(guān)于變量的定義,特別是整數(shù)型的變量沒(méi)有加前綴uc us ui c s i l ,而其它類型變量都會(huì)加上前綴,原因如下:

  1. 雖然這個(gè)一看名字就知道這個(gè)變量的類型定義和取值范圍,但是通常情況下變量定義后在后面的維護(hù)中可能為了增大或減少取值范圍,會(huì)改變類型的定義,但又不同時(shí)重命名變量,導(dǎo)致后來(lái)再看就會(huì)有異議
  2. 目前的大部分編程軟件將鼠標(biāo)放置在變量上,通常就會(huì)提示該變量的類型定義,所以也不需要特意按照這個(gè)命名
  3. 大部分只有整數(shù)型的變量定義后才會(huì)因?yàn)槿≈捣秶芟薅淖冾愋投x,而其他類型的定義之后基本不會(huì)隨意變動(dòng)

帕斯卡命名法

是指混合使用大小寫字母來(lái)構(gòu)成變量和函數(shù)的名字,每個(gè)單詞的第一個(gè)字母都大寫,又叫大駝峰式命名法;

1PrintEmployeePaychecks

下劃線命名法

使用下劃線( )連接組成的標(biāo)識(shí)符,即 單詞(字母或數(shù)字) 單詞(字母或數(shù)字)_單詞(字母或數(shù)字)

1print_employee_paychecks(); // 函數(shù)
2int min_value = 0;   // 變量

標(biāo)識(shí)符命名規(guī)范

根據(jù)不同場(chǎng)景使用不同命名規(guī)則,甚至組合使用,業(yè)內(nèi)比較常用的方式。

文件名

駝峰命名法,有時(shí)也使用下劃線命名法,根據(jù)不同情況使用,盡量和之前的保持一致

因?yàn)椴煌到y(tǒng)對(duì)文件名大小寫處理會(huì)有所不同(如Windows系統(tǒng)不區(qū)分大小寫,但是Linux系統(tǒng)則區(qū)分)


變量名

匈牙利命名法 + (?。劮迕▋煞N結(jié)合使用

具體規(guī)則是:屬性+類型+描述( 駝峰命名法)

  1. 使用名詞或者形容詞 + 名詞方式命名變量(描述),如char szFile[20] = "file";int fileSize = 0;
  2. 禁止使用單字節(jié)命名變量,但允許定義 i、jk 等作為局部循環(huán)變量

宏定義/枚舉

大寫 + 下劃線命名法

  1. 對(duì)于數(shù)值或者字符串等等常量或者枚舉的定義,全部采用全大寫字母,單詞之間加下劃線“_”的方式命名。如 #define MIN_VALUE 5
  2. 除了頭文件或編譯開(kāi)關(guān)等特殊標(biāo)識(shí)符定義,宏定義不能使用下劃線“_”開(kāi)頭和結(jié)尾(一般來(lái)說(shuō),下劃線開(kāi)頭或結(jié)尾的宏都是一些內(nèi)部的定義)

函數(shù)名

帕斯卡命名法(大駝峰命名法),對(duì)于對(duì)外提供的接口函數(shù),則加模塊前綴

  1. 以函數(shù)要執(zhí)行的動(dòng)作命名,一般采用動(dòng)詞或者動(dòng)詞+名詞的結(jié)構(gòu),且符合帕斯卡命名法
  2. 對(duì)于對(duì)外提供的接口函數(shù),一般加上模塊前綴LED_,如LED_CtrlOff(…)

通用規(guī)則

除了上述規(guī)則外,關(guān)于以上標(biāo)識(shí)符的命名還應(yīng)該符合以下規(guī)則:

1、標(biāo)識(shí)符的命名要清晰、明了,有明確的含義,同時(shí)使用完整的單詞或大家基本可以認(rèn)同和理解的縮寫,避免讓人產(chǎn)生誤解

如:良好的命名:int error_number; 不好的命名:int n, nerr;

2、標(biāo)識(shí)符的長(zhǎng)度應(yīng)當(dāng)符合“min-length && max-information”原則

如:幾十年前老ANSI C規(guī)定名字不準(zhǔn)超過(guò)6個(gè)字符,現(xiàn)今的C++/C不再有此限制。一般來(lái)說(shuō),長(zhǎng)名字能更好地表達(dá)含義,所以函數(shù)名、變量名、類名長(zhǎng)達(dá)十幾個(gè)字符不足為怪。那么名字是否越長(zhǎng)越好?不一定,例如變量名maxval就比maxValueUntilOverflow好用

3、除了常見(jiàn)的通用縮寫外,不使用單詞縮寫,不得使用漢語(yǔ)拼音

較短的單詞可以通過(guò)去掉“元音”形成縮寫,較長(zhǎng)的單詞可取單詞的頭幾個(gè)字母形成縮寫,一些單詞有大家公認(rèn)的縮寫,常用單詞縮寫必須統(tǒng)一。協(xié)議中的單詞縮寫與協(xié)議保持一致,對(duì)于某個(gè)系統(tǒng)使用的專用縮寫應(yīng)該在注釋或者某處做統(tǒng)一說(shuō)明

4、用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等

如:add/remove,begin/endcreat/destroy

5、盡量避免名字中出現(xiàn)數(shù)字編號(hào),除非邏輯上的確需要編號(hào)

6、重構(gòu)/修改部分代碼時(shí),應(yīng)保持和原有代碼風(fēng)格保持一致

根據(jù)源代碼現(xiàn)有的風(fēng)格繼續(xù)編寫代碼,有利于保持總體一致

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3573

    瀏覽量

    89349
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41592
  • 標(biāo)識(shí)符
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7393
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    焊盤命名規(guī)范

    焊盤命名規(guī)范 通常我們的焊盤分為通過(guò)孔(THP)焊盤和表貼(SMD)焊盤兩種形式。但這兩種形式當(dāng)中,又有多種形狀。所以我們要有一個(gè)統(tǒng)一的命名規(guī)范,以方便以后調(diào)用。一、THP焊盤
    發(fā)表于 12-31 17:27

    關(guān)于Android命名規(guī)范

    第一家公司是如此的重要,如果開(kāi)發(fā)流程規(guī)范,對(duì)你之后的影響不是一般的大!而我經(jīng)歷的公司大都不成體系,我的習(xí)慣就是我的規(guī)范!哈哈!很多的技術(shù)人員,恐怕都認(rèn)為除了自己的作品外,別人寫的代碼都是“垃圾
    發(fā)表于 10-15 00:11

    關(guān)于Android命名規(guī)范

    第一家公司是如此的重要,如果開(kāi)發(fā)流程規(guī)范,對(duì)你之后的影響不是一般的大!而我經(jīng)歷的公司大都不成體系,我的習(xí)慣就是我的規(guī)范!哈哈!很多的技術(shù)人員,恐怕都認(rèn)為除了自己的作品外,別人寫的代碼都是“垃圾
    發(fā)表于 06-21 09:35

    FPGA的代碼書(shū)寫規(guī)范

    代碼書(shū)寫規(guī)范本文節(jié)選自特權(quán)同學(xué)的圖書(shū)《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 雖然沒(méi)有“國(guó)際標(biāo)準(zhǔn)”級(jí)別的Verilog或
    發(fā)表于 04-16 04:08

    C語(yǔ)言編程的基本規(guī)范有哪些?

    為了提高源程序的質(zhì)量和可維護(hù)性,從而最終提高軟件產(chǎn)品生產(chǎn)力,特編寫此規(guī)范。本標(biāo)準(zhǔn)規(guī)定了程序設(shè)計(jì)人員進(jìn)行程序設(shè)計(jì)時(shí)必須遵循的規(guī)范。本規(guī)范主要針對(duì)單片機(jī)編程語(yǔ)言和08編譯器而言,包括排版、
    發(fā)表于 02-24 07:22

    單片機(jī)程序設(shè)計(jì)編程規(guī)范分享

    嚴(yán)格,品質(zhì)要求高的軟件公司對(duì)員工編寫代碼的風(fēng)格都有硬性規(guī)定,例如縮排的使用,TAB 的長(zhǎng)度,函數(shù)變量的命名方式. 這些規(guī)定的明顯好處是可以統(tǒng)一規(guī)范不同程序員所編制的代碼,提升程序
    發(fā)表于 09-25 08:06

    C#編程代碼規(guī)范

    C#編程代碼規(guī)范 注:目的:為了保證開(kāi)發(fā)隊(duì)伍中的所有程序員都能夠理解其他人編寫的代碼。 參考: 《華為編碼規(guī)范和范
    發(fā)表于 02-09 16:11 ?81次下載

    PCB封裝命名規(guī)范

    介紹PCB封裝的命名規(guī)范,讓封裝庫(kù)有規(guī)律,易查詢。
    發(fā)表于 10-29 14:07 ?0次下載

    嵌入式代碼編寫規(guī)范

    嵌入式代碼編碼規(guī)范,用于規(guī)范自己的代碼,增強(qiáng)可讀性,非標(biāo)準(zhǔn)規(guī)范。最好能強(qiáng)制自己形成良好的編碼風(fēng)格,有利于開(kāi)發(fā)
    的頭像 發(fā)表于 04-26 15:21 ?5355次閱讀

    關(guān)于軟件、硬件版本號(hào)命名的常見(jiàn)規(guī)范

    不知道大家寫程序、畫(huà)板子時(shí),版本號(hào)是怎么命名的? ? 最常見(jiàn)的就是V1.0.0這種簡(jiǎn)單的形式命名,復(fù)雜一點(diǎn)就是帶有日期、后綴等版本信息。 ? 當(dāng)然,版本號(hào)命名規(guī)范就像
    的頭像 發(fā)表于 12-31 10:04 ?4941次閱讀

    史上最全的PCB封裝命名規(guī)范

    適用于主流EDA工具的封裝命名規(guī)范,規(guī)范命名可以提高審核效率,較少工程師犯錯(cuò)。
    發(fā)表于 10-21 16:06 ?0次下載

    科普一下Verilog代碼命名規(guī)范

    命名規(guī)范包括模塊命名規(guī)范代碼命名規(guī)范,
    的頭像 發(fā)表于 11-17 09:54 ?3964次閱讀

    代碼編程規(guī)范注釋風(fēng)格

    注釋的原則是有助于對(duì)程序的閱讀理解以及提供二次開(kāi)發(fā)所需文檔,注釋的方式有很多,但是業(yè)內(nèi)常用的規(guī)范是 Doxygen 代碼注釋規(guī)范。遵循原則為,說(shuō)明性文件、函數(shù)接口必須充分注釋說(shuō)明。全局變量需要說(shuō)明功能及取值范圍,需要自行處理資料
    的頭像 發(fā)表于 02-15 15:01 ?1910次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>編程</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>之</b>注釋風(fēng)格

    代碼命名規(guī)范是真優(yōu)雅呀!代碼如詩(shī)

    Java項(xiàng)目的代碼結(jié)構(gòu),能夠體現(xiàn)它的設(shè)計(jì)理念。Java采用長(zhǎng)命名的方式來(lái)規(guī)范類的命名,能夠自己表達(dá)它的主要意圖。配合高級(jí)的IDE,可以減少編碼人員的記憶負(fù)擔(dān),靠模糊的匹配就能找到自己所
    的頭像 發(fā)表于 03-13 09:32 ?877次閱讀

    FPGA的Verilog代碼編寫規(guī)范

      注:以R起頭的是對(duì)編寫Verilog代碼的IP設(shè)計(jì)者所做的強(qiáng)制性規(guī)定,以G起頭的條款是建議采用的規(guī)范。每個(gè)設(shè)計(jì)者遵守本規(guī)范可鍛煉命名規(guī)范
    的頭像 發(fā)表于 08-15 16:23 ?2339次閱讀