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

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

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

如何規(guī)范宏和常量以及命名

麥辣雞腿堡 ? 來源:嵌入式系統(tǒng) ? 作者:嵌入式系統(tǒng) ? 2023-12-07 14:49 ? 次閱讀

宏和常量

◎ 宏定義和常量使用大寫字母或下劃線。
◎ 用宏定義表達(dá)式時(shí),要使用完備的括號(hào),如下:

#define HEHE_AREA(a, b) ((a) * (b))

◎ 宏定義中盡量不要使用return、goto、continue、break等改變程序流程的語句。
◎ 常量建議使用const定義代替宏,如下

#define ASPECT_RATIO 1.653 替換成 const double ASPECT_RATIO = 1.653;

◎ 除非必要,應(yīng)盡可能使用函數(shù)代替宏 。
◎ 將宏定義的多條表達(dá)式放在大括號(hào)中。
◎ 使用宏時(shí),不允許參數(shù)發(fā)生變化。
◎ 盡量少用魔法數(shù),或者必須加注釋說明,或者修改方案,如內(nèi)存長(zhǎng)度操作禁止使用常數(shù),非特殊情況必須使用sizeof自動(dòng)處理。

2.6 命名

命名采用unix like風(fēng)格,單詞用小寫字母,每個(gè)單詞之間用下劃線分割,引用的第三方的代碼可保持原有風(fēng)格,命名盡量使用通用英文單詞或縮寫。
2.6.1 文件
文件名命名可根據(jù)平臺(tái)自有規(guī)則命名,一般采用小寫字符,字段之間使用下劃線分隔;相同功能的 .c和.h文件名相同。
2.6.2 枚舉
枚舉定義:宏定義和枚舉值禁止使用小寫字母,不能以下劃線開頭,字段之間使用下劃線分隔,若邏輯中要標(biāo)注多種狀態(tài),狀態(tài)不允許用數(shù)字表示。
2.6.3 結(jié)構(gòu)體
1、結(jié)構(gòu)體定義,若同一功能所使用到的參數(shù),盡量用結(jié)構(gòu)體來定義表示,便于相關(guān)參數(shù)獲取和設(shè)置。
2、純業(yè)務(wù)邏輯代碼,與平臺(tái)無關(guān)的,必須使用小寫字符和下劃線分隔。
2.6.4 函數(shù)
函數(shù)名定義,函數(shù)名稱需體現(xiàn)出函數(shù)具體功能,均由功能單詞拼接組成,使用小寫字母和下劃線拼接,其中全局函數(shù)必須以xx_為前綴,在.h里面申明全局函數(shù),補(bǔ)充完整注釋;局部函數(shù)使用static限制。
2.6.5 變量
◎ 禁止使用全大寫字母命名變量,全局變量至少5個(gè)字母,使用高頻次的全局變量盡量簡(jiǎn)短。
◎ 全局變量命名表達(dá)其作用,且以小寫字母g_開頭,后面拼接功能英文,如地址:g_addr。
◎ 變量名的拼接,全部使用小寫字母和下劃線拼接,函數(shù)內(nèi)局部變量允許使用單個(gè)字母。
◎ 多個(gè)同類的變量封裝成結(jié)構(gòu)體。
2.6.6 推薦命名

add/delete  begin/end  create/destroy  insert/delete
first/last  increment/decrement  get/set/release  up/down
lock/unlock  open/close  min/max  old/new
start/stop  next/previous  source/target  send/receive
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298562
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    915

    瀏覽量

    54651
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61969
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    java命名規(guī)范

     最近注意到很多學(xué)生在命名上忽略了好多細(xì)節(jié),網(wǎng)上關(guān)于命名規(guī)范的文章也不少,整理了一下供大家參考。好的命名規(guī)范可以讓你的程序更專業(yè),
    發(fā)表于 09-18 12:21

    焊盤命名規(guī)范

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

    C語言小問:與函數(shù),常量的比較關(guān)系

    :有參函數(shù)形參必須指定類型;而有參中參數(shù)是沒有類型的,實(shí)參可以是任意類型使用枚舉 和使用#define定義常量和const關(guān)鍵字的區(qū)別(從優(yōu)缺點(diǎn)比較)#Define指令優(yōu)點(diǎn):申明一次 多次使用;占用
    發(fā)表于 02-02 15:03

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

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

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

    史上最全的PCB封裝命名規(guī)范
    發(fā)表于 11-27 17:23

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

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

    有沒有可用的常量描述設(shè)備的內(nèi)存配置

    嗨,有沒有可用的常量描述設(shè)備的內(nèi)存配置,例如啟動(dòng)地址和程序內(nèi)存區(qū)域的大??? 以上來自于百度翻譯 以下為原文 Hi,are there any constants or macros
    發(fā)表于 12-21 15:44

    STM32命名規(guī)范是什么

    文章目錄前言一、認(rèn)識(shí)STM32二、STM32命名規(guī)范總結(jié)前言前陣子買了正點(diǎn)原子的阿波羅STM32F429,并且看了正點(diǎn)原子十多個(gè)教學(xué)視頻,結(jié)果愣是看不明白,之前以為像我有51單片機(jī)基礎(chǔ)以及C語言功底
    發(fā)表于 12-01 07:44

    OrCAD繪制原理圖命名規(guī)范

    文件建立1. 原理圖命名參考文檔命名規(guī)范,示意如下: 2. 對(duì)于有
    發(fā)表于 06-29 16:56 ?9257次閱讀
    OrCAD繪制原理圖<b class='flag-5'>命名</b><b class='flag-5'>規(guī)范</b>

    PCB封裝命名規(guī)范

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

    封裝命名規(guī)范

    本文詳細(xì)介紹了元器件封裝的命名規(guī)則,對(duì)于規(guī)范封裝具有相當(dāng)好的意義
    發(fā)表于 08-18 17:26 ?0次下載

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

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

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

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

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

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

    什么是C語言常量與變量

    標(biāo)識(shí)符是編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語句塊等命名,以建立起名稱與使用之間的關(guān)系。
    的頭像 發(fā)表于 02-27 15:05 ?906次閱讀
    什么是C語言<b class='flag-5'>常量</b>與變量