新聞中心

        EEPW首頁 > 設計應用 > 軟件代碼幾種常見命名規則

        軟件代碼幾種常見命名規則

        作者: 時間:2024-04-11 來源: 收藏

        良好的習慣,決定了今后的質量。

        本文引用地址:http://www.104case.com/article/202404/457443.htm

        很多不注重平時編碼習慣,比如命名規則,一會大寫、一會小寫,一會中文拼音,一會下劃線等,導致自己寫的自己都看不懂了。

        今天就來分享一點關于常見的幾種命名規則。

        匈牙利命名法

        匈牙利命名法廣泛應用于微軟 Windows 這類環境中,這種命名技術是由微軟早期的一位能干的 Microsoft 程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。

        匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴,標識出變量的作用域、類型等。

        這些符號可以多個同時使用,順序是先m_(成員變量),再指針,再簡單數據類型,再其他。

        例如:m_lpszStr, 表示指向一個以0字符結尾的字符串的長指針成員變量。

        匈牙利命名法關鍵是:標識符的名字以一個或者多個小寫字母開頭作為前綴,前綴之后的是首字母大寫的一個單詞或多個單詞組合,該單詞要指明變量的用途。

        例如:bEnable, nLength, hWnd。

        640-2.png

        下面分享關于匈牙利命名法中常用的小寫字母的前綴。

        屬性部分:

        g_ 全局變量

        c_  常量

        m_  c++類成員變量

        s_  靜態變量


        類型部分:

        數組 a
        指針 p
        函數 fn
        無效 v
        句柄 h
        長整型 l
        布爾 b
        浮點型(有時也指文件) f
        雙字  dw
        字符串  sz
        短整型  n
        雙精度浮點 d
        計數 c(通常用cnt)
        字符 ch(通常用c)
        整型 i(通常用n)
        字節 by
        字 w
        實型 r
        無符號 u


        描述部分

        最大 Max
        最小 Min
        初始化 Init
        臨時變量 T(或Temp)
        源對象 Src
        目的對象 Dest


        駝峰命名法

        駝峰命名法近年來越來越流行,駝峰命名法,正如它的名稱所表示的那樣,指的是混合使用大小寫字母來構成標識符的名字。其中第一個單詞首字母小寫,余下的單詞首字母大寫。

        例如:printEmployeePaychecks();

        函數名中每一個邏輯斷點都有一個大寫字母來標記。

        帕斯卡命名法

        帕斯卡命名法與駝峰命名法類似,只不過駝峰命名法是第一個單詞首字母小寫,而帕斯卡命名法則是第一個單詞首字母大寫。因此這種命名法也有人稱之為“大駝峰命名法”。

        例如:DisplayInfo(); UserName

        都是采用了帕斯卡命名法。

        事實上,很多程序設計者在實際命名時會將駝峰命名法和帕斯卡結合使用,例如變量名采用駝峰命名法,而函數采用帕斯卡命名法。

        下劃線命名法

        下劃線法是隨著C語言的出現流行起來的,在UNIX/LIUNX這樣的環境,以及GNU代碼中使用非常普遍。

        1.函數的命名

        函數名使用下劃線分割小寫字母的方式命名:

        設備名_操作名();

        操作名一般采用:謂語(此時設備名作為賓語或者標明操作所屬的模塊)或者謂語 賓語/表語(此時設備名作為主語或者標明操作所屬的模塊) 等形式,如:

        tic_init(); 

        adc_is_busy(); 

        uart_tx_char();

        中斷函數的命名直接使用 設備名_isr() 的形式命名,如:

        timer2_isr();

        2.變量的命名

        變量的命名也采用下劃線分割小寫字母的方式命名。命名應當準確,不引起歧義,且長度適中。如:

        int length; 

        uint32 test_offset;

        單字符的名字也是常用的,如i, j, k等,它們通常可用作函數內的局部變量。tmp常用做臨時變量名。

        局部靜態變量,應加s_詞冠(表示static),如:

        static int s_lastw;

        全局變量(尤其是供外部訪問的全局變量),應加g_詞冠(表示global),如:

        void (* g_capture_hook)(void);

        3.常量及宏的命名

        采用下劃線分割大寫字母的方式命名,一般應以設備名作為前綴,防止模塊間命名的重復。如:

        #define TIMER0_MODE_RELOAD 2

        #define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))

        當然,看作接口的宏可以按照函數的命名方法命名,例如:

        #define timer2_clear() (TF2 = 0)

        #define timer0_is_expired() (TF0)

        據考察,沒有一種命名規則可以讓所有的程序員贊同,程序設計教科書一般都不指定命名規則。

        命名規則對產品而言并不是“成敗悠關”的事,我們不要化太多精力試圖發明世界上最好的命名規則,而應當制定一種令大多數項目成員滿意的命名規則,并在項目中貫徹實施。

        聲明:本文素材來源網絡,版權歸原作者所有。如涉及作品版權問題,請與我聯系刪除。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贺州市| 调兵山市| 麦盖提县| 高要市| 江津市| 清水河县| 固原市| 五台县| 永新县| 托里县| 伊金霍洛旗| 永川市| 民乐县| 长治市| 固安县| 桃园县| 石泉县| 宝兴县| 驻马店市| 南阳市| 资溪县| 怀仁县| 灵武市| 普宁市| 长泰县| 黔东| 东源县| 营口市| 双流县| 东城区| 大英县| 金坛市| 德保县| 昌黎县| 儋州市| 洛扎县| 区。| 文水县| 济宁市| 梧州市| 潼南县|