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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

嵌入式編碼對齊Tab和空格混著用行嗎?

嵌入式情報局 ? 來源:嵌入式專欄 ? 2023-02-24 10:16 ? 次閱讀

如果代碼對齊不規(guī)范,代碼看著就很凌亂,比如Tab 和 空格混合使用:

101ebbe0-b392-11ed-bfe3-dac502259ad0.png ?

如果你看到類似以上代碼,特別是前同事丟下爛攤子的時候,你內(nèi)心可能會出現(xiàn)十萬只***。

01 關于代碼對齊

代碼對齊主要就是Tab、空格,還有就是二者混合,在Keil 和 IAR中設置對齊方式比較簡單:

1.Keil: Edit -> Configuration -> Editor

10500380-b392-11ed-bfe3-dac502259ad0.png ?

2.IAR: Tools -> Options -> Editor

106b3db2-b392-11ed-bfe3-dac502259ad0.png ?

3.Tab和空格的區(qū)別

Tab和空格其實只是兩個不同的符號,但在編程對齊中的意義卻大不一樣。一個Tab可以占空個格的位置,但一個空格就只有一個空格的位置。

在Keil開發(fā)環(huán)境中可以顯示出Tab和空格符,不妨看一下在Tab和空格交替編輯下,原本使用占2空格Tab符號,實際在4隔空Tab下看代碼(和注釋)就凌亂了。

101ebbe0-b392-11ed-bfe3-dac502259ad0.png ?

離譜的代碼中就會看見使用占3個空格的Tab,以

上截圖舉例都還好,沒有使用占用3個空格的Tab。

代碼前面的對齊都還好處理,很多工具都可以自動排版,IAR只要選中需要對齊的代碼,Ctrl + T就可以了。Keil可以安裝格式化插件AStyle即可輕松解決問題。

但代碼后面的注釋對齊就不是那么好處理了,如果使用Tab + 空格混合方式,更是容易混亂。

02 代碼對齊究竟該用哪種?

不同人、不同公司的代碼風格不一樣,使用的對齊方式也不一樣。代碼對齊的通常有2空格,或4空格,或者Tab對齊。

但不建議 空格 和 Tab 混合使用,或者使用3個空格,或者5個空格這種非常規(guī)方式。

究竟用2空格、4空格、還是Tab對齊,這個需要看你項目實際情況,都可以的,就看你代碼風格。

唯一一點就是不建議混合使用,使用Tab或者空格都可以用格式化工具轉(zhuǎn)化。但如果你混合使用了,轉(zhuǎn)化出來的代碼,有可能是凌亂的。

03 Tab和空格不能在一起

要么使用Tab ,要么使用空格,如果兩者同時使用,那么會出現(xiàn)后期維護難,遭同事懟罵的后果。





審核編輯:劉清

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

    關注

    5087

    文章

    19150

    瀏覽量

    306374
  • IAR
    IAR
    +關注

    關注

    5

    文章

    353

    瀏覽量

    36726
  • TAB
    TAB
    +關注

    關注

    0

    文章

    16

    瀏覽量

    11563
  • keil
    +關注

    關注

    68

    文章

    1214

    瀏覽量

    167036

原文標題:嵌入式編碼對齊 Tab 和 空格混著用,太糟糕了~

文章出處:【微信號:嵌入式情報局,微信公眾號:嵌入式情報局】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    iccavr怎么改成tab進4個空格?

    按下tab時,有時進1個空格,有時進好幾個空格,怎么改成按下就進4個空格
    發(fā)表于 03-24 10:29

    labview 能在嵌入式xp中運行嗎?

    比如我labview 2012寫的上位機等,能在工控機的操作系統(tǒng)(WinCE嵌入式xp)中運行嗎?
    發(fā)表于 04-24 15:26

    嵌入式小波編碼算法的原理是什么?

    在基于小波變換的圖象壓縮方案中,嵌入式零樹小波 EZW(Embedded Zerotree Wavelets)[1]編碼很好地利用小波系數(shù)的特性使得輸出的碼流具有嵌入特性。近年來,在對EZW改進
    發(fā)表于 08-15 08:27

    嵌入式c語言編碼規(guī)范

    `學習嵌入式的同學應該首先掌握嵌入式編碼規(guī)范,這樣才能更好的嵌入式系統(tǒng)。下面就從這幾個方面講解一下嵌入式c
    發(fā)表于 10-31 14:50

    嵌入式c語言編碼規(guī)范

    學習嵌入式的同學應該首先掌握嵌入式編碼規(guī)范,這樣才能更好的嵌入式系統(tǒng)。下面就從這幾個方面講解一下嵌入式c
    發(fā)表于 11-07 15:17

    RISC-V MCU IDE MRS(MounRiver Studio)開發(fā)之:設置Tab鍵以指定空格數(shù)縮進

    嵌入式開發(fā)中,我們常常需要在其他工程師創(chuàng)建的工程上進行二次開發(fā),而每個人IDE中設置的Tab鍵功能內(nèi)容可能不同(按下后插入一個制表符或者以指定空格數(shù)進行縮進),由于不同IDE制表符寬度不同,所以
    發(fā)表于 11-18 10:09

    ARM嵌入式系統(tǒng)為什么要對齊?不對齊會有哪些后果

    這里寫自定義目錄標題做嵌入式系統(tǒng)軟件開發(fā),經(jīng)常在代碼中看到各種各樣的對齊,很多時候我們都是知其然不知其所以然,知道要做好各種對齊,但是不明白為什么要對齊,不
    發(fā)表于 12-14 09:09

    嵌入式ARM之嵌入式軟件開發(fā)的測試與編碼

    關注、星標公眾號,不錯過精彩內(nèi)容轉(zhuǎn)自:嵌入式ARM在嵌入式軟件開發(fā)過程中,一般來說,花在測試和花在編碼的時間比為3:1(實際上可能更多)。這個比例隨著你的編程和測試水平的提高而不斷下降,...
    發(fā)表于 12-20 06:42

    語音信號去噪和編碼系統(tǒng)設計,DSP嵌入式系統(tǒng)開發(fā)典型案例

    語音信號去噪和編碼系統(tǒng)設計,DSP嵌入式系統(tǒng)開發(fā)典型案例
    發(fā)表于 10-19 10:23 ?15次下載
    語音信號去噪和<b class='flag-5'>編碼</b>系統(tǒng)設計,DSP<b class='flag-5'>嵌入式</b>系統(tǒng)開發(fā)典型案例

    JPEG2000算法嵌入式編碼的DSP高效實現(xiàn)策略

    JPEG2000算法嵌入式編碼的DSP高效實現(xiàn)策略
    發(fā)表于 10-20 09:40 ?4次下載
    JPEG2000算法<b class='flag-5'>嵌入式</b>塊<b class='flag-5'>編碼</b>的DSP高效實現(xiàn)策略

    在工業(yè)領域,嵌入式還是PLC?

    那么在工業(yè)領域嵌入式,還是可編程邏輯控制器(PLC)?
    發(fā)表于 01-13 14:31 ?1771次閱讀

    嵌入式C語言-文件操

    嵌入式C語言-文件操(嵌入式開發(fā)需要什么證書)-嵌入式C語言-文件操,有需要的可以參考!
    發(fā)表于 07-30 11:56 ?15次下載
    <b class='flag-5'>嵌入式</b>C語言-文件操<b class='flag-5'>用</b>

    嵌入式軟件之c語言編碼規(guī)范

    嵌入式軟件之c語言編碼規(guī)范
    發(fā)表于 10-28 18:13 ?28次下載

    嵌入式系統(tǒng)的定義

    那么什么是嵌入式系統(tǒng)呢?我首先保證,下面的定義已經(jīng)非常精簡,一個多余的單詞都沒有(請允許我在一個完整的句子中加入空格來強調(diào)每一個要素):   嵌入式系統(tǒng)是 面向應用 高度裁減的 專用 計算機系統(tǒng)
    的頭像 發(fā)表于 04-13 14:38 ?1017次閱讀

    ARM嵌入式系統(tǒng)中內(nèi)存對齊的重要性

    嵌入式系統(tǒng)軟件開發(fā),經(jīng)常在代碼中看到各種各樣的對齊,很多時候我們都是知其然不知其所以然,知道要做好各種對齊,但是不明白為什么要對齊,不對齊
    的頭像 發(fā)表于 11-11 17:17 ?959次閱讀
    ARM<b class='flag-5'>嵌入式</b>系統(tǒng)中內(nèi)存<b class='flag-5'>對齊</b>的重要性