91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

嵌入式代碼的排版問題

CHANBAEK ? 來源:南山府嵌入式 ? 作者:南山府嵌入式 ? 2023-04-15 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介:

對于代碼的規(guī)范性不管是做純軟件開發(fā)的還是做嵌入式開發(fā)的或者使用各種語言的,都是非常重要的。 代碼的規(guī)范性對編寫人員對代碼后期的維護以及其他開發(fā)人員閱讀等都是非常友好的。 接下來我們會對代碼的規(guī)范性進行說明(當然,根據(jù)個人的情況和企業(yè)的不同可能要求不一樣,我就根據(jù)我個人的一個情況進行一些說明,本專題不作為最終范本,僅用來作為參考)

排版問題

本篇就說說代碼的排版問題,這東西就像家里裝修一樣,好的裝修會讓人心里很舒服,同樣代碼也是如此,一個好的代碼排版也會給別人帶來一個好的感覺。

程序的縮進

代碼盡量采用縮進風格(特別是程序塊)縮進空格為4個

對待嗎的有關結構、函數(shù)、分支、循環(huán)、以及枚舉等復雜或較為復雜的程序結構在進行編寫的時候,要將它的內(nèi)容縮進 一層。

比如大括號({}):大括號是一個非常明顯的標志,凡是遇到大括號,都應該直接聯(lián)想到縮進。

分支結構: 包括 if… else 結構、switch 結構等

循環(huán)結構:包括 for 結構、while/do… while 結構等

以上這些都需要進行縮進。

下面舉個例子:

if語句

1if (a > b)
 2{
 3  /*if 子句的結構體內(nèi)容應縮進*/
 4  max = a;
 5  min = b;
 6}
 7else
 8{
 9  /*else子句的結構體內(nèi)容應縮進*/
10  max = b;
11  min = a;
12}

開關

1  switch (expression)
 2  {
 3    /*switch結構的內(nèi)層縮進(也包括內(nèi)容)*/
 4    case 0:
 5      break;
 6    case 1:
 7      /*case的內(nèi)層(內(nèi)容)也要縮進*/
 8      break;
 9    default:
10      break;
11  }

for語句

1for (size_t i = 0; i < count; i++)
2{
3  /*for循環(huán)縮進*/
4  data[i + 1] = data[i];
5}

while語句

1while (i != 0)
2{
3  /* 內(nèi)容縮進 */
4  tx = yx;
5  x++;
6}

函數(shù)

1void RCC_Configuration(void)
 2{
 3  /* Enable GPIO clock */
 4  RCC_APB2PeriphClockCmd(USARTy_GPIO_CLK | USARTz_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE);
 5
 6#ifndef USE_STM3210C_EVAL
 7  /* Enable USARTy Clock */
 8  RCC_APB2PeriphClockCmd(USARTy_CLK, ENABLE);
 9#else
10  /* Enable USARTy Clock */
11  RCC_APB1PeriphClockCmd(USARTy_CLK, ENABLE);
12#endif
13  /* Enable USARTz Clock */
14  RCC_APB1PeriphClockCmd(USARTz_CLK, ENABLE);
15}

這里就不一一列舉了,總之代碼縮進空格數(shù)4。

代碼語句過長要變短

如果代碼語句過長要多行書寫(比如>100個字符這樣)

如果代碼語句過長或者較長(比如:>100字符)要進行多行編寫,對于長的表達式,要在操作符處進行換行,操作符盡可能的放在新的一行首位,同時要對新行進行適當?shù)目s進,使代碼排列整齊,整體美觀可讀性好。

舉例

1int example(void)
2{
3  int my_Value=1;
4  /*這是一個很長的語句,所以我們來進行新行,從第二行開始進行一個縮進*/
5  my_Value=my_Value+my_Value1+my_Value2+my_Value3+my_Value5+my_Value
6           +my_Value8+my_Value9+my_Value10;
7  /*后面的就是恢復正常的縮進位置*/
8  my_Value = 100;
9}

對于循環(huán)、判斷等語句中若有較長的表達式或語句,同樣要進行適當?shù)恼Z句劃分,同樣換新行,在新行中表達式操作符要放在首位,然后進行縮進。

舉例

1int example(void)
2{
3  if ((expression < USART_GetFlagStatus(USARTz, USART_FLAG_RXNE))
4      && (USART_GetFlagStatus(USARTz, USART_FLAG_RXNE)))
5  {
6    ... /* code*/
7  }
8}

同樣對于函數(shù)參數(shù)也是一樣的,都要進行適當?shù)倪M行新行,同時也要適當?shù)倪M行縮進,讓代碼整齊,是可讀性不受干擾。

舉例

1void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct,
2              RCC_APB2PeriphResetCmd* GPIO_InitStruc)
3

當有多個短語句的時候

不要把多個短語句寫入到一行中

也就是說,不管一條語句有多短,都要一行只能寫一條短語句。

多個短語句寫一行并沒有錯,但是會讓人很自動的認為那只有一條語句,因此應該是多個語句多行書寫。

例如:

舉例

1int example(void)
2{
3  /*這是不規(guī)范的*/
4  led.b = 0;  led.aa = 0;
5  /*應該寫成下面這樣*/
6  led.b = 0;
7  led.aa = 0;
8}

對分支語句、循環(huán)語句中{}的來說

if、for、do、while、case、switch、 default等所有的語句都要自占一行,并且if、for、do、while、if--else等語句的執(zhí)行語句部分無論多少都要加括號{},同時大括號{},都要獨占一行。

舉例

1int example(void)
 2{
 3  /*下面就是不規(guī)范的*/
 4  if (i == 0)
 5    a = b;
 6  else
 7    b = e;
 8
 9  /*正確的寫法*/
10  if (i == 0)
11  {
12    a = b;
13  }
14  else
15  {
16    b = e;
17  }
18}
1int example(void)
 2{
 3  /*下面是不規(guī)范的*/
 4  for (...){
 5    ... /* program code */
 6  }
 7  /*下面是規(guī)范的*/
 8  for ()
 9  {
10    /* code */
11  }
12}

這里推薦大家寫代碼的時候使用VScode或者其他具有自動縮進方式的IDE。

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

    關注

    5152

    文章

    19675

    瀏覽量

    317574
  • Switch
    +關注

    關注

    1

    文章

    537

    瀏覽量

    59674
  • 函數(shù)
    +關注

    關注

    3

    文章

    4381

    瀏覽量

    64878
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70743
  • 程序結構
    +關注

    關注

    1

    文章

    7

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何提高嵌入式代碼質(zhì)量?

    嵌入式代碼的質(zhì)量是至關重要的。本文將探討如何通過有效的開發(fā)方法和工具來提高嵌入式代碼的質(zhì)量,以確保系統(tǒng)的可靠性和可維護性。 理解嵌入式
    發(fā)表于 01-15 10:48

    嵌入式系統(tǒng)接口應用

    嵌入式系統(tǒng)原理與接口技術》——嵌入式系統(tǒng)接口應用基礎本文為我負責編寫的電子工業(yè)出版社出版的《嵌入式系統(tǒng)原理與接口技術》一書第七章部分,這里整理的仍然是修改稿,供需要的同學參考,本書為普通高等教育
    發(fā)表于 08-09 06:56

    如何調(diào)試嵌入式代碼

    我們在進行嵌入式系統(tǒng)開發(fā)調(diào)試時,受限于嵌入式芯片資源和性能,一般采用遠程調(diào)試。在調(diào)試嵌入式底層代碼時,gdbserver 無法運行,我們該怎么調(diào)試底層
    發(fā)表于 12-17 06:32

    Caché嵌入式代碼分享

    文章目錄第十章 Caché 嵌入式代碼嵌入式HTML`&html`標記語法嵌入式JavaScript嵌入式SQL第十章 Caché
    發(fā)表于 12-17 07:19

    嵌入式系統(tǒng)原理、設計與應用

    嵌入式操作系統(tǒng)的原理和開發(fā)方法,而是講述嵌入式系統(tǒng)的通用技術和基本原理、嵌入式產(chǎn)品的開發(fā)方法等內(nèi)容。例如書中的給出的代碼屬于類C語言代碼
    發(fā)表于 04-25 17:07 ?3次下載

    EDK9.1嵌入式開發(fā)實驗代碼

    Xilinx FPGA工程例子源碼:EDK9.1嵌入式開發(fā)實驗代碼
    發(fā)表于 06-07 14:13 ?2次下載

    嵌入式代碼之編寫規(guī)范

    嵌入式代碼編碼規(guī)范,用于規(guī)范自己的代碼,增強可讀性,非標準規(guī)范。最好能強制自己形成良好的編碼風格,有利于開發(fā)
    的頭像 發(fā)表于 04-26 15:21 ?5640次閱讀

    盤點幾種主流嵌入式架構的代碼壓縮技術

    對于嵌入式軟件而言,代碼尺寸是越小越好。壓縮代碼以適應受到成本或空間限制的存儲子系統(tǒng)已經(jīng)成為嵌入式系統(tǒng)開發(fā)的一項重要事務。
    的頭像 發(fā)表于 05-27 15:37 ?4848次閱讀

    如何將嵌入式代碼優(yōu)化

    嵌入式代碼優(yōu)化,除了最基本的函數(shù)實現(xiàn)細節(jié)算法優(yōu)化外,還有一些細節(jié)的處理。
    發(fā)表于 09-25 09:34 ?1591次閱讀

    關于嵌入式代碼的致命漏洞

    隨著互聯(lián)網(wǎng)的發(fā)展,嵌入式設備正分布在一個充滿可以被攻擊者利用的源代碼級安全漏洞的環(huán)境中。因此,嵌入式軟件開發(fā)人員應該了解不同類型的安全漏洞——特別是代碼注入。 術語“
    的頭像 發(fā)表于 01-06 15:13 ?2036次閱讀

    嵌入式代碼的致命安全漏洞

    隨著互聯(lián)網(wǎng)的發(fā)展,嵌入式設備正分布在一個充滿可以被攻擊者利用的源代碼級安全漏洞的環(huán)境中。因此,嵌入式軟件開發(fā)人員應該了解不同類型的安全漏洞——特別是代碼注入。 術語“
    的頭像 發(fā)表于 01-15 15:07 ?2438次閱讀

    嵌入式外中斷c語言代碼

    嵌入式外中斷c語言代碼(arm嵌入式開發(fā)實例)-嵌入式外中斷c語言代碼,有需要的可以參考!
    發(fā)表于 07-30 11:29 ?5次下載
    <b class='flag-5'>嵌入式</b>外中斷c語言<b class='flag-5'>代碼</b>

    嵌入式框架-分層

    嵌入式架構有多重要?要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構怎么行?如果沒有好的架構,移植將會是一件很痛苦的事情。如果沒有好的架構,復用是最大的難題,沒法更大限度的復用
    發(fā)表于 10-20 16:06 ?24次下載
    <b class='flag-5'>嵌入式</b>框架-分層

    嵌入式開發(fā)蜂鳴器代碼

    嵌入式開發(fā)蜂鳴器代碼
    發(fā)表于 03-29 17:04 ?3次下載

    嵌入式代碼高效運行指南

    嵌入式C語言之所以經(jīng)久不衰,在于它的運行效率很高,想要高效運行代碼,除了編譯器幫忙優(yōu)化,關鍵還要靠自己“優(yōu)化”代碼
    的頭像 發(fā)表于 01-06 15:32 ?1249次閱讀
    主站蜘蛛池模板: h在线免费 | 豆国产97在线 | 欧洲 | 国产理论精品 | 网友偷自拍原创区 | 三级视频网站在线观看播放 | 加勒比日本道 | 免费视频大全 | 亚洲成综合人影院在院播放 | 天堂视频网| 色多多福利 | 色综合亚洲| 九九精品国产兔费观看久久 | 欧美性区 | a欧美视频 | 精品在线一区二区 | bt种子在线搜索 | 香蕉视频在线免费播放 | 成人在线视频网址 | h视频在线播放 | 国产啊v在线观看 | 亚洲 欧美 中文字幕 | 五月婷婷六月合 | 一级片免费在线观看 | 天天摸天天做天天爽在线 | 欧美午夜色大片在线观看免费 | 四虎影酷| 起碰免费视频 | 午夜视频精品 | 国产全黄三级三级 | 久久婷婷激情 | 午夜视频黄 | 四虎www成人影院免费观看 | vvvv98国产成人综合青青 | 男人不识本网站上遍色站也枉然 | 又黄又爽又猛大片录像 | 久久综合综合久久 | 欧美精品首页 | 丁香婷婷激情综合 | 黄色短视频免费看 | 国内免费视频成人精品 | 国内自拍 亚洲系列 欧美系列 |