亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

開發(fā)過(guò)項(xiàng)目的工程師都知道,一個(gè)好的項(xiàng)目,代碼基本都有統(tǒng)一的規(guī)范,否則代碼就會(huì)隨著版本迭代,變得越來(lái)越臃腫。

代碼規(guī)范應(yīng)在項(xiàng)目早期建立,這些規(guī)范對(duì)于保持整個(gè)項(xiàng)目的一致性非常有必要,采用一致的規(guī)范可以提高效率并簡(jiǎn)化項(xiàng)目維護(hù)。

采用一致的規(guī)范可以:

  • 可移植性
  • 一致性
  • 整潔
  • 維修方便
  • 容易理解
  • 簡(jiǎn)單


下面來(lái)看看著名的µC/OS代碼的規(guī)范。

一、標(biāo)頭

C源文件的標(biāo)頭如下所示,公司名稱和地址可以在前幾行,后跟一個(gè)標(biāo)題,用于描述文件的內(nèi)容。其中包含版權(quán)聲明,以警告該軟件的專有性等。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

二、包含文件

#include包含通常有兩種方式,在源文件中包含所需的頭文件,還有一種把所有頭文件都整理在一個(gè)文件,比如INCLUDES.H。這樣你就不必記住哪個(gè)頭文件與哪個(gè)源文件一起使用,尤其是在添加新模塊時(shí)。唯一的不便是編譯每個(gè)文件需要更長(zhǎng)的時(shí)間。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

三、命名標(biāo)識(shí)符

符合ANSI C標(biāo)準(zhǔn)的C編譯器(到目前為止,大多數(shù)C編譯器都這樣做)最多允許32個(gè)字符作為標(biāo)識(shí)符名稱。標(biāo)識(shí)符是變量、結(jié)構(gòu)/聯(lián)合成員、函數(shù)、宏、#defines等。

比如:大寫字符用于分隔標(biāo)識(shí)符中的單詞,功能和下劃線字符(_)類似。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

µC/OS命名標(biāo)識(shí)符:

  • 函數(shù)聲明中的形式參數(shù)應(yīng)僅包含小寫字符。
  • 自動(dòng)變量名稱應(yīng)僅包含小寫字符。
  • 靜態(tài)變量和函數(shù)應(yīng)使用文件/模塊名稱(或其一部分)作為前綴,并應(yīng)使用大寫/小寫字符。
  • extern變量和函數(shù)應(yīng)使用文件/模塊名稱(或其一部分)作為前綴,并應(yīng)使用大寫/小寫字符。

四、縮略

代碼基本都會(huì)使用縮寫,縮寫不能中英文混合,通常是英文的縮寫,比如OS代表Operating System。

一些常用的縮寫需要統(tǒng)一規(guī)范,一些不常用的縮寫需要在代碼中注釋清除。

µC/OS代碼中使用的縮寫比較多,比如:

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

五、注釋

// /* */ 是兩種最常見注釋的方法,還有注釋的位置也很關(guān)鍵。通常在代碼所在行上一行,或者在代碼所在行(代碼后面)。

但也有奇葩把代碼注釋在代碼所在行的下一行(通常不建議這么操作)。

µC/OS使用 /**/ 而且都在代碼所在行(后面):

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

六、#defines

頭文件(.H)和C源文件(.C)可能需要定義常量和宏,常量和宏始終使用大寫字母。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

七、數(shù)據(jù)類型

C語(yǔ)言允許你使用typedef關(guān)鍵字創(chuàng)建新的數(shù)據(jù)類型,µC/OS使用大寫字符聲明所有數(shù)據(jù)類型,因此遵循用于常量和宏的相同規(guī)則,永遠(yuǎn)不會(huì)混淆常量,宏和數(shù)據(jù)類型的問(wèn)題。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

八、局部變量

一些源模塊要求使用局部變量,通過(guò)使用static關(guān)鍵字,變量可以按字母順序或功能順序列出。

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

九、縮進(jìn)

縮進(jìn)有使用空格和Tab兩種符號(hào),規(guī)范通常只使用一種,不能空格和Tab兩種混合使用(現(xiàn)在很多編輯器都支持Tab替換成空格的功能)。

如果混合使用,在不同編輯器打開代碼,你就可能會(huì)看到一團(tuán)糟。

µC/OS使用四個(gè)空格:

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

十、結(jié)構(gòu)體和聯(lián)合體

包含結(jié)構(gòu)體和聯(lián)合體的格式、命名、注釋等這些都需要規(guī)范,µC/OS代碼使用的比較簡(jiǎn)單,也是大眾化的定義:

為什么代碼風(fēng)格很重要、來(lái)看看μC/OS代碼規(guī)范

 

分享到:
標(biāo)簽:風(fēng)格 代碼
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定