專注軟硬件開(kāi)發,爲您提供專業、高效、優質、貼心的服務! 郵箱:ytyunxinkeji@163.com

您所在位置:首頁 > 新聞資(zī)訊 > 軟件開(kāi)發,編程規範要知(zhī)道

軟件開(kāi)發,編程規範要知(zhī)道

發布日期: 2022-08-30

  軟件開(kāi)發編程規範之頭文件的六大(dà)編程規範詳解

  

  今天來爲大(dà)家分(fēn)享一(yī)下(xià)軟件開(kāi)發過程中(zhōng)常常使用的編程規範,當然,隻是一(yī)些工(gōng)作中(zhōng)的建議,大(dà)家還要結合自己的項目實際需求進行相關的設計與開(kāi)發哦,如果大(dà)家在開(kāi)發中(zhōng)有相關的建議的話(huà),也可以給出合理的建議!

  

  1 頭文件編程規範詳解

  

  1.1 頭文件的名稱命名規範

  

  首先,我(wǒ)(wǒ)們要注意的是,頭文件的名稱,一(yī)般我(wǒ)(wǒ)們采用的是英文版的小(xiǎo)寫字母格式,其次就是,頭文件的格式,建議大(dà)家根據項目進行設定,如子系統的名稱_文件的名稱.h,采用這種格式進行命名。

  

  這樣大(dà)家在讀到你的頭文件的時候,就知(zhī)道是什麽含義了。

  

  1.2 頭文件的編譯開(kāi)關

  

  我(wǒ)(wǒ)們經常會使用相同的頭文件,但是,如果多次進行重複包含的話(huà),程序在編譯過程中(zhōng)就會失敗,所以,我(wǒ)(wǒ)們在定義頭文件的時候,一(yī)定要使用

  

  #ifndef 預編譯開(kāi)關

  

  #define 預編譯開(kāi)關

  

  這個格式,否則會出現相關的編譯錯誤的,那麽到底什麽是預編譯開(kāi)關呢?其實預編譯開(kāi)關就是在我(wǒ)(wǒ)們的頭文件的名稱的大(dà)寫格式前面加下(xià)劃線,如我(wǒ)(wǒ)們的頭文件爲ipf_protocol.h,那麽我(wǒ)(wǒ)們使用如下(xià)宏定義即可:

  

  #ifndef _IPF_PROTOCOL_H

  

  #define _IPF_PROTOCOL_H

  

  下(xià)面就可以加我(wǒ)(wǒ)們想要在頭文件中(zhōng)定義的内容了,這是在使用C或者C++語言時,定義頭文件必不可少的環節,大(dà)家千萬要注意。

  

  下(xià)面我(wǒ)(wǒ)們給出一(yī)個完整的例子,大(dà)家根據自己的需求進行填空即可哈。

  

  #ifndef _TLC_ONEDAY_H

  

  #define _TLC_ONEDAY_H

  

  ……

  

  頭文件正文

  

  ……

  

  #endif

  

  1.3 禁止頭文件的交叉引用

  

  我(wǒ)(wǒ)們在定義頭文件的時候,一(yī)定要爲頭文件的層次設置爲公共模塊,私有模塊,頭文件的引用次序爲下(xià)層頭文件引用上層的頭文件,私有文件引用公共的頭文件。

  

  而且,我(wǒ)(wǒ)們在聲明結構的時候,一(yī)定要格外(wài)注意,千萬不能出現交叉引用的情況。

  

  下(xià)面咱們給出具體(tǐ)的實例,以便大(dà)家能夠清晰認識這個錯誤:

  

  頭文件 isdn_a.h

  

  

  

  #ifndef _ISDN_A_H

  

  #define _ISDN_A_H

  

  #include “isdn_b.h”

  

  typedef struct

  

  {

  

  ...;

  

  ISDN_ConTROL stIsdnControl;

  

  ...;

  

  }ISDN_ CONFIG;

  

  #endif

  

  頭文件 isdn_b.h

  

  /************************************************************

  

  Description: 定義控制數據結構

  

  #ifndef _ISDN_B_H

  

  #define _ISDN_B_H

  

  #include “isdn_a.h”

  

  typedef struct

  

  {

  

  ...;

  

  ISDN_ConFIG stIsdnConfig;

  

  ...;

  

  }ISDN_CONTROL;

  

  #endif

  

  爲了解決上述矛盾,可以将兩個結構合并到一(yī)個文件中(zhōng)聲明。

  

  1.4 引用頭文件時使用的" "和< >

  

  如果引用系統頭文件,必須使用“< “和“> “;如果引用自定義的頭文件,必須使用“” “和“”

  

  PS:所謂的系統頭文件指的就是編譯系統提供的頭文件;

  

  1.5 禁止在頭文件中(zhōng)定義變量

  

  一(yī)般來說,我(wǒ)(wǒ)們隻能在頭文件中(zhōng)聲明變量的類型,不能定義變量,這是開(kāi)發老手們都默認的規則,新手千萬要注意。

  

  1.6 禁止無順序地聲明頭文件

  

  頭文件的聲明順序一(yī)般是宏、結構、函數、變量。函數在頭文件中(zhōng)聲明時開(kāi)頭可以不加“extern”;

  

  軟件開(kāi)發中(zhōng),一(yī)般都是多人維護,如果大(dà)家連基本的準則規範都沒有做到一(yī)緻的話(huà),後續進行更深層次的交流是非常耗時的,希望大(dà)家能夠嚴格遵守上述使用和定義規則吧,當然還有其它的規範,如源文件,變量定義等等相關的規範内容;

  

  時間關系,就先爲大(dà)家分(fēn)享到這裏了,我(wǒ)(wǒ)們後續再進行更深入的分(fēn)享吧