吴忠躺衫网络科技有限公司

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

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

3天內不再提示

縮進就有那么重要?

單片機技術宅 ? 來源:單片機技術宅 ? 2020-05-14 15:03 ? 次閱讀

為什么要縮進

作為單片機編程愛好者,特別是初學者,才開始學習編程,也是良好編程習慣養成的最佳時間,為了日后我們寫出的代碼看著比較高大上,我們有必要在開始時形成好習慣,比如代碼的縮進。

你猜的沒錯,今天我們就來說說縮進??s進是代碼閱讀性的重要保證。沒有縮進的代碼如同沒有標點符號和分段的文章,即使內容精彩絕倫,也不可能會有人喜歡去閱讀,更主要的是,沒有標點的文章,閱讀起來好多地方是會有歧義的,我們的編程也是一樣的,沒有縮進的代碼,我們是很難閱讀,很難看出程序的邏輯關系,閱讀起來還很有可能會產生歧義。

我們寫出來的代碼不只是寫給處理器運行的,還需要同行、經理審查、閱讀以完成協作,更重要的是在日后代碼維護中,你才是主角。再或者不要你維護,今天你寫的代碼都么牛X,日后吹牛的時候,和菜鳥說的天花亂墜,菜鳥一看到代碼,沒有縮進,?。?/p>

說了那么多,也許你還是不行,縮進就有那么重要?

往下看

試著讀一下下面的代碼,能否快速找到Delay_xms(1000);在哪里調用的?for?while?main?如果上千行的代碼,沒有縮進,你想像一下,會是什么場景?

void main(void)

{

uchar i,j;

Delay_xms(50);

Init_MAX7219();

while(1)

{

for(i=1;i<9;i++)

Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

for(i=1;i<9;i++)

{

Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

Max7219_pinCS=0;

for(j=0;j

{

Write_Max7219_byte(i); //寫入地址,即數碼管編號

Write_Max7219_byte(disp1[count-1-j][i-1]); //寫入數據,即數碼管顯示數字

_nop_();

}

Max7219_pinCS=1;

}

Delay_xms(1000);

}

}

再看看下面的代碼,試著找找Delay_xms(1000);在哪被調用?

void main(void)

{

uchar i,j; Delay_xms(50); Init_MAX7219(); while(1) {

// for(i=1;i<9;i++)

/ / Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

for(i=1;i<9;i++)

{

// Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

Max7219_pinCS=0;

for(j=0;j

{

Write_Max7219_byte(i); //寫入地址,即數碼管編號

Write_Max7219_byte(disp1[count-1-j][i-1]); //寫入數據,即數碼管顯示數字

_nop_();

}

Max7219_pinCS=1;

}

Delay_xms(1000);

}

}

很明顯的,在while里調用。上面的例子已經很明顯了,縮進是代碼可讀性的前提。

如何快速實現縮進

絕招一:tab鍵,將光標定義在需要縮進的代碼行或者選擇需要縮進的所有代碼,再按下tal鍵可以快速的實現所以光標行或者選擇的代碼。

絕招二:工具欄快捷按鈕,縮進/取消縮進所選代碼,用于縮進整塊代碼。

絕招三:編寫代碼時,換行后直接按tab把光標移到想要的位置,再進行代碼的書寫。

寫在最后

縮進,讓你的代碼更優雅,看起來專業,便于閱讀。陋習的養成很簡單,也許只是一個簡單程序的事,從開始就養成好的編程習慣,你將會受用一生。


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

    關注

    88

    文章

    3637

    瀏覽量

    93989
  • 代碼
    +關注

    關注

    30

    文章

    4828

    瀏覽量

    69063

原文標題:論編程縮進的重要性

文章出處:【微信號:chuxue_MCU,微信公眾號:單片機技術宅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不是!讓高速先生給個過孔優化方案就那么難嗎?

    了,哪怕已經約束了很多參數了,其實還有另外更加隱蔽的參數沒在里面,然后這個沒考慮到的參數在不同的設計項目中就有可能不同,那么導致過孔阻抗的差異從3到10歐姆不等,甚至更多。這個時候再回頭去看看所謂的過孔
    發表于 01-21 08:50

    DAC8760接上了24V以后,芯片表面就有啪的一聲,是哪里出了問題?

    你好,我使用了你們的DAC8760芯片,我看數據手冊上寫著的AVDD電壓最高可達36V,但是我接上了24V以后,芯片表面就有啪的一聲,芯片壞了,我試了兩個芯片都是這樣,不知道這塊芯片AVDD是否真的可以使用24V供電,下面是我的原理圖: 不知道是不是原理圖設計得有問題,請指教。
    發表于 12-30 07:16

    ADS58C48的輸出給FPGA的時鐘怎樣產生的,是只要有輸入時鐘,就有輸出時鐘嗎?

    : 1,ADS58C48如果想要實現基本的功能需要怎樣配置寄存器?有沒有相關FPGA配置程序可以參考一下? 2,ADS58C48的輸出給FPGA的時鐘怎樣產生的,是只要有輸入時鐘,就有輸出時鐘嗎?
    發表于 12-20 06:32

    運放一上電,輸出端就有+18V電壓輸出,然后緩慢將為0

    運放一上電,輸出端就有+18V電壓輸出,然后緩慢將為0,請問這是怎么回事?怎么讓運放一上電輸出就為0?
    發表于 12-07 16:39

    CDCLV2104在未上電前輸入管腳就有時鐘輸入,是否存在問題?

    應用如下圖,CDCD62005先上電并配置完成時鐘有輸出后5S,CDCLV2104的電源才進行上電。 請問:CDCLV2104在未上電前輸入管腳就有時鐘輸入,是否存在問題?
    發表于 11-12 07:47

    TPA3110D2音頻板用開關電源+12V供電,上電后音源還沒輸出就有噪聲,怎么解決?

    TPA3110D2音頻板用開關電源+12V供電,上電后音源還沒輸出就有噪聲, 請問電源不換的情況下,在音頻板上增加什么電路可以解決噪聲?
    發表于 11-04 08:20

    tas5548接上usb在電腦上放音樂,放著放著就有爆破音了,為什么?

    剛買回來接上usb在電腦上放音樂3個小時左右沒有異常,后來放著放著就有爆破音了,聲音稍微大聲一點都能聽到。后來越來 越嚴重有嚎叫聲了!tpa6138有可能壞了嗎?
    發表于 10-25 06:07

    通過電池供電給TPA3116和風扇,當風扇開始工作,喇叭就有wenwen的噪聲,如何解決?

    通過電池供電給3116和風扇,但是當風扇開始工作,喇叭就有wenwen的噪聲,這個如何解決呢? 風扇是12V 0.1A的,直接接在A+11V1 謝謝!
    發表于 10-12 08:05

    為什么按鍵消抖那么重要

    按鍵穩定性和可靠性對于整個系統的性能至關重要。然而,由于機械觸點的彈性作用,按鍵在閉合和斷開時往往伴隨著抖動現象。這種抖動雖然對人類來說微不足道,但對于高速運行的單片機而言,卻可能導致嚴重的誤判
    的頭像 發表于 09-25 16:50 ?685次閱讀
    為什么按鍵消抖<b class='flag-5'>那么</b><b class='flag-5'>重要</b>

    LTC1068開關電容濾波器的靜態電流為什么那么大?

    誰用過LTC1068開關電容濾波器啊,為什么靜態電流那么大,指接正極還沒接負極就有30mA了,有誰用過嗎
    發表于 09-19 07:35

    ths3001怎么那么容易就自激了?怎么解決?

    ths3001怎么那么容易就自激了
    發表于 09-11 08:12

    算力與AI大爆發,液冷為何那么重要

    夏日炎炎,數據中心制冷技術全新升級,液冷散熱,讓服務器清涼一夏。本文將帶您一起探索數據中心液冷需求、技術及實際應用。1數據中心液冷需求AI浪潮來襲,數據中心的服務器部署的更多了。服務器變得更強了,也更熱了。有什么辦法,給服務器“物理降溫”嗎?根據國家對數據中心的節能要求,全國范圍內新建數據中心要求PUE(PowerUsageEffectiveness,電源利
    的頭像 發表于 06-21 08:05 ?151次閱讀
    算力與AI大爆發,液冷為何<b class='flag-5'>那么</b><b class='flag-5'>重要</b>?

    求助,ADC接地的重要性?

    ADC接地的重要
    發表于 06-04 07:56

    為什么GPU對AI如此重要?

    GPU在人工智能中相當于稀土金屬,甚至黃金,它們在當今生成式人工智能時代中的作用不可或缺。那么,為什么GPU在人工智能發展中如此重要呢?什么是GPU圖形處理器(GPU)是一種通常用于進行快速數學計算
    的頭像 發表于 05-17 08:27 ?799次閱讀
    為什么GPU對AI如此<b class='flag-5'>重要</b>?

    使用STM8S的FLASH庫函數時,警告就有20多個,使用寄存器方式就一個警告沒有,怎么處理?

    您好!我在使用STM8S的FLASH庫函數時,警告就有20多個,而我使用寄存器方式就一個警告沒有。針對庫函數的警告問題,有何高招!
    發表于 03-22 14:53
    利赢百家乐现金网| 百家乐出庄的概率| 不夜城百家乐官网的玩法技巧和规则 | 网络百家乐官网游赌博| 百家乐官网赢钱公式1| 百家乐官网园小区户型图| 大发888赌场是干什么的| 百家乐破解方法技巧| 九州百家乐官网娱乐城| 大发888站群| 三公百家乐官网在线哪里可以玩| 真人百家乐官网蓝盾娱乐平台| 百家乐官网四式正反路| 百家乐官网赌法| 百家乐官网玄机| 百家乐官网棋牌作弊器| 博九百家乐官网的玩法技巧和规则 | 大发888游戏好吗| 百家乐官网排名| 精通百家乐官网的玩法技巧和规则 | 百家乐官网庄闲赢负表| 百家乐官网路单统| 威尼斯人娱乐场的微博| 百家乐15人专用桌布| 百家乐官网网上赌场| 基础百家乐官网的玩法技巧和规则 | 番禺百家乐电器店| 威尼斯人娱乐场安全吗| 百家乐必赢法软件| 百家乐英皇娱乐网| 老虎机上分器| 莆田棋牌游戏中心| 台南市| 百家乐官网视频官方下载| 番禺百家乐官网电器店| 明升信誉| 太阳城百家乐官网杀祖玛| 百家乐波浪法则| 大发888破解方法| 百家乐官网金币游戏| 沁水县|