91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

關(guān)于怎么代碼對齊的話題

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-20 14:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面 Ⅰ

寫作本文的想法來源于:最近移植以前工程師代碼,打開工程一看,代碼“凌亂”了······

原因在于代碼對齊的方式“錯(cuò)綜復(fù)雜”····

你們代碼對齊的方式是Tab?還是空格? 使用空格又是幾個(gè)空格?

關(guān)于代碼對齊 Ⅱ

代碼對齊主要牽涉到的就是使用Tab還是空格,以及空幾格對齊。下面簡單講述一下相關(guān)的知識。

1.Tab和空格的配置

Keil:Edit -> Configuration -> Editor

IAR:Tools -> Options -> Editor

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

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

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

離譜的代碼中就會(huì)看見使用占3個(gè)空格的Tab,以上截圖舉例都還好,沒有使用占用3個(gè)空格的Tab。

代碼前面的對齊都還好處理,很多工具都可以自動(dòng)排版,像IAR,只要選中需要對齊的代碼,Ctrl + T就可以了。但代碼后面的注釋對齊就不是那么好處理了,如果使用Tab + 空格混合方式,更是容易混亂。

關(guān)于Tab和空格的調(diào)查 Ⅲ

有人針對 GitHub 上多種語言的熱門項(xiàng)目(star 數(shù)量高的),分析了代碼對齊使用Tab和空格,以及空幾格的使用情況。

1.C語言

A.32.08% 用 Tab

B.35.31% 用 4 個(gè)空格

C.26.15% 用 2 個(gè)

D.4.31% 用 3 個(gè)

E.2.16% 用 8 個(gè)

2.C++

A.20.56% 用 Tab

B.39.11% 用 4 個(gè)空格

C.38.71% 用 2 個(gè)

D.1.61% 用 3 個(gè)

3.Java

A.11.6% 用 Tab

B.23.21% 用 2 個(gè)空格

C.65.19% 用 4 個(gè)

4.JavaScript

A.13.25% 用 Tab

B.59.94% 用 2 個(gè)空格

C.26.81% 用 4 個(gè)

5.PHP

A.28.68% 用 Tab

B.6.12% 用 2 個(gè)空格

C.65.2% 用 4 個(gè)

6.Ruby

A.0% 用 Tab

B.100% 用 2 個(gè)空格

C.0% 用 4 個(gè)

總結(jié) Ⅳ

關(guān)于代碼對齊,代碼編輯器既然支持Tab,也支持使用空格,所以個(gè)人覺得兩種方式都可以,只看個(gè)人習(xí)慣使用那一個(gè)了。

代碼對齊其實(shí)很好處理,選擇可以自動(dòng)對齊的工具對齊就OK了,但在代碼后面的注釋就不是那么容易對齊了(特別在Tab和空格混用情況下),我個(gè)人習(xí)慣在代碼后面把注釋也對齊,所以基本不用Tab符。

個(gè)人建議:對齊使用空格符,占2空格或4空格(常用)。其優(yōu)勢:1.方便跨平臺(tái)使用; 2.對齊注釋。

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

    關(guān)注

    69

    文章

    1230

    瀏覽量

    172629
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73960
  • 代碼編輯器
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    6178
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AI代碼之爭忽略了什么

    人工智能的興起讓 COBOL 重新成為話題焦點(diǎn),市場上也涌現(xiàn)出不少號稱能轉(zhuǎn)換遺留代碼、破解現(xiàn)代化難題的工具。但關(guān)鍵在于厘清這究竟意味著什么,以及它不包含什么。代碼轉(zhuǎn)換是一回事,平臺(tái)現(xiàn)代化則完全是另一碼事。這兩者并非同一概念,而橫
    的頭像 發(fā)表于 03-02 15:20 ?293次閱讀

    LAT1185+一個(gè)地址未對齊引起的 HardFault 異常應(yīng)用筆記

    ,則程序運(yùn)行正常。表面上看,這似乎是 KEIL MDK 的問題,通過分析,導(dǎo)致這個(gè)問題的本質(zhì)原因是內(nèi)存地址沒有對齊引起的,下面章節(jié)將詳細(xì)分析該問題的來龍去脈以及解決方法。
    發(fā)表于 01-11 17:28 ?0次下載

    晶華微紅外測溫芯片技術(shù)推動(dòng)醫(yī)療健康領(lǐng)域變革

    近日,“水銀體溫計(jì)、血壓計(jì)明年起禁產(chǎn)”的話題持續(xù)引發(fā)社會(huì)熱議,這一變革背后是明確的政策導(dǎo)向——早在2020年10月,國家藥監(jiān)局便發(fā)布關(guān)于履行《關(guān)于汞的水俁公約》有關(guān)事項(xiàng)的通知,明確自2026年1月1日起,全面禁止生產(chǎn)含汞體溫計(jì)和
    的頭像 發(fā)表于 12-23 13:44 ?475次閱讀
    晶華微紅外測溫芯片技術(shù)推動(dòng)醫(yī)療健康領(lǐng)域變革

    C語言中一些令人震驚的結(jié)構(gòu)介紹

    = a++ + b; 因此, 這段代碼持行后a = 6, b = 7, c = 12。 如果你知道答案,或猜出正確答案,做得好。 如果你不知道答案,我也不把這個(gè)當(dāng)作問題。我發(fā)現(xiàn)這個(gè)問題的最大好處是這是一個(gè)關(guān)于代碼編寫風(fēng)
    發(fā)表于 12-23 08:15

    CW32操作FLASH地址對齊的要求

    地址邊界對齊,即使用 16bit 位寬訪問 FLASH 時(shí)的地址必須是偶地址,使用 32bit 位寬時(shí)的地址必須是 4 的倍數(shù)地址。 正確地址對齊代碼示例: 8bit 讀取: tempdata
    發(fā)表于 12-15 06:30

    IEEE 802.11af 與空白頻譜無線技術(shù)的話題

    IEEE 802.11af 與空白頻譜無線技術(shù)的話題
    的頭像 發(fā)表于 12-14 15:12 ?1566次閱讀

    通過優(yōu)化代碼來提高M(jìn)CU運(yùn)行效率

    。 內(nèi)存訪問優(yōu)化 充分利用緩存:如果MCU有Cache,盡量保證代碼和數(shù)據(jù)的局部性,即讓相關(guān)的數(shù)據(jù)在內(nèi)存中連續(xù)存放。 避免內(nèi)存碎片:在動(dòng)態(tài)內(nèi)存分配受限的系統(tǒng)中,盡量使用靜態(tài)分配。 對齊訪問:保證數(shù)據(jù)在內(nèi)
    發(fā)表于 11-12 08:21

    MDK uVision V5.36.00使用rt_packed進(jìn)行字節(jié)對齊,但無效,為什么?

    各位RTT專家好: MDK uVision V5.36.00使用rt_packed進(jìn)行字節(jié)對齊,但無效。
    發(fā)表于 09-24 06:37

    晶科能源Tiger Neo 3.0的問題解答(2)

    關(guān)于Tiger Neo 3.0,朋友們關(guān)心、詢問的話題很多,昨天集中回答了大家提的的10個(gè)熱點(diǎn)問題,有網(wǎng)友后臺(tái)留言說自己的問題被選中,今天我們整理了第二集。這些問題和答案同步更新至官網(wǎng)。未來,我們將針對大家關(guān)心的問題,繼續(xù)不定期更新,感謝大家對Tiger Neo 3.0
    的頭像 發(fā)表于 08-20 14:09 ?618次閱讀

    伺服電機(jī)編碼器與轉(zhuǎn)子磁極相位對齊方法

    永磁交流伺服電機(jī)的編碼器相位為何要與轉(zhuǎn)子磁極相位對齊 其唯一目的就是要達(dá)成矢量控制的目標(biāo),使 d 軸勵(lì)磁分量和 q 軸出力分量解耦,令永磁交流伺服電機(jī)定子繞組產(chǎn)生的電磁場始終正交于轉(zhuǎn)子永磁場,從而
    發(fā)表于 05-14 16:00

    Allegro Skill布局功能--器件絲印過孔對齊介紹與演示

    Allegro系統(tǒng)雖然提供了基本的元件對齊功能,但其適用范圍較為有限。相比之下,F(xiàn)anyskill 的“對齊”命令在操作體驗(yàn)和功能性上更具優(yōu)勢:其界面設(shè)計(jì)更加直觀易用,并支持多種元素的對齊操作,包括
    發(fā)表于 05-14 08:59 ?3659次閱讀
    Allegro Skill布局功能--器件絲印過孔<b class='flag-5'>對齊</b>介紹與演示

    同樣的代碼在官方開發(fā)板上運(yùn)行正常,在自己板子上就跑不起來,怎么辦?

    同樣的代碼在Nordic官方開發(fā)板上可以運(yùn)行正常,但在自己板子上就跑不起來,如果你碰到了上述情況,建議按照如下步驟進(jìn)行自檢: 首先確認(rèn)用戶板元器件焊接良好,功能正常。如果你的板子有LED的話,你可以
    的頭像 發(fā)表于 05-12 15:26 ?769次閱讀
    同樣的<b class='flag-5'>代碼</b>在官方開發(fā)板上運(yùn)行正常,在自己板子上就跑不起來,怎么辦?

    PCB布局太亂? Altium Designer這個(gè)快捷鍵幫你一秒對齊全場

    在做PCB設(shè)計(jì)的時(shí)候,你是否也遇到過這種情況: 器件擺好但總感覺歪歪扭扭? 有些元件間距不一致,看著難受? 想對齊又一個(gè)個(gè)拖動(dòng),累得不行? 別急!今天教你一招? Altium Designer 里
    的頭像 發(fā)表于 04-14 09:09 ?4831次閱讀
    PCB布局太亂? Altium Designer這個(gè)快捷鍵幫你一秒<b class='flag-5'>對齊</b>全場

    圖解邊沿對齊,中心對齊PWM(可下載)

    在說邊沿對齊,中心對齊前,我們先來段鋪墊,PWM 又稱脈沖寬度調(diào)制,我們通過調(diào) 節(jié)脈沖的占空比,我們可以控制電壓的大小(比如我們滿占空比時(shí)電壓為 12V,我們可以通 過調(diào)節(jié)占空比讓電壓變?yōu)?7V
    發(fā)表于 03-31 15:15 ?1次下載

    如何為micropython添加自己的C代碼庫?

    部分代碼需要更高效的效率 如何為micropython添加自己的C代碼庫? 是否有教程? 如果可以的話是否可以提供一個(gè)實(shí)現(xiàn)實(shí)例?
    發(fā)表于 03-11 07:03