<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > 編程做好這六點(diǎn),你就是大師了

編程做好這六點(diǎn),你就是大師了

作者:areak 時(shí)間:2013-08-07 來(lái)源:電子產(chǎn)品世界 收藏

  三、 添加盡可能詳盡的注釋

本文引用地址:http://dyxdggzs.com/article/158784.htm

  不要總覺(jué)得自己當時(shí)記憶深刻,甚至刻骨銘心、終生難忘,時(shí)間總是會(huì )無(wú)情地證明你是錯的,為你的程序添加詳盡的注釋?zhuān)热?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/變量">變量的用途、的調用關(guān)系、參數說(shuō)明、功能等等都要盡可能詳細地寫(xiě)明,有時(shí)候即使是寫(xiě)下來(lái),過(guò)一段時(shí)間再回頭看時(shí)還要在琢磨一陣,若是不寫(xiě),后果可想而知,別人就更沒(méi)法讀你的程序了。

  這是我為一個(gè)寫(xiě)的注釋?zhuān)斎幻總€(gè)人都有自己的寫(xiě)法,我一般這樣來(lái)寫(xiě)的,僅供參考哈。

  /*=============================================================================

  *
  * 函 數 名: CMD_Send()
  *
  * 參 數:??????? length_low 數據長(cháng)度
  *???????????????????? ?CMD_byte 命令字節
  *???????????????????? ?CMD_parameter 命令參數
  *???????????????????? ?*data 語(yǔ)音數據
  * 功能描述:
  *??????????????????? ? 發(fā)送一幀語(yǔ)音數據
  *
  * 返 回 值: 無(wú)
  =============================================================================*/

  四、 做好底層的定義

  這里的意思是與硬件相關(guān)的程序,為了后期更好地,先做一些必要的定義,比如
?????????#define cWL_PIN_SDIO 0x04
  #define SDIO_is_Out P1DIR |= cWL_PIN_SDIO

  這樣以后用起來(lái)就十分的方便,就像說(shuō)話(huà)一樣,使得程序十分易讀,當然凡事過(guò)猶不及,也沒(méi)必要過(guò)多地定義,只對一些經(jīng)常使用的定義就好,也有的環(huán)境中,本身就已經(jīng)做了非常詳盡的定義,那么就省了你的事了,但這也未必是好事,因為你要花很多時(shí)間去看,去熟悉。

  五、 合理劃分單元和函數

  尤其在程序量比較大的時(shí)候,這一點(diǎn)就顯得尤為重要,劃分得好不好,對于后期影響極大。合理劃分單元說(shuō)得通俗點(diǎn)就是把每一個(gè)功能單元放在一個(gè)單獨的文件中,這樣每一個(gè)文件中的程序量就不至于太長(cháng),需要被外部調用的函數全部在頭文件中引出,劃分函數也很重要,函數劃分得好,可以節省很多程序空間,增強執行效率。這樣做的好處是極大地增強了程序的可移植性,下次再用到這個(gè)功能時(shí),只需要修改底層的IO口就可以了,這樣久而久之,當你寫(xiě)的單元足夠多的時(shí)候,寫(xiě)程序就變得越來(lái)越輕松了。還有在文件的起始處最好也加一些功能說(shuō)明,也就是注釋?zhuān)纾?/p>

  /*=============================================================================

  * 說(shuō) 明:
  *??????????????? 本單元實(shí)現了語(yǔ)音輸出‘宇音天下’的功能。
  * 作 者: XXX 2011/3/3
  *  =============================================================================*/

  六、 反復修改,精益求精

  無(wú)論我們如何用心的去編寫(xiě)程序,程序似乎總是有改進(jìn)的余地,當你發(fā)現一個(gè)可以改進(jìn)的地方,可能是一個(gè)好的算法,也可能僅僅是一個(gè)冗余的,也要不厭其煩地去重新改過(guò),這樣日積月累,就可以不斷完善你自己的程序庫,因為當程序庫足夠充足、足夠完善的時(shí)候,寫(xiě)程序就幾乎是信手拈來(lái)了。

  七、 總結

  其實(shí)以上說(shuō)的幾點(diǎn)經(jīng)驗,每一點(diǎn)都是在一個(gè)最根本的原則的指引之下,那就是增強程序的可讀性和可移植性。最后送大家一句話(huà),與大家共勉“If you will,you can!!!”。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 程序設計 函數 變量 編程 代碼

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>