<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    一線研發之聲 之 完美主義者的程序員特征

    發布時間:2016-3-1 09:23    發布者:designapp
    關鍵詞: 代碼 , 常量 , 空格
      觀文識人,代碼無疑是了解一個程序員的最佳途徑。
      且不論算法思路,單就代碼的界面風格,便可知一二。
      1. 追求精美的對齊。盡可能精確到每一個"斷點",是他的追求。





      2.沒有tab字符,而是采用4個或8個空格鍵代替。
      編輯時敲入的是tab鍵,但其編輯器會設置"文件保存時tab用空格字符替代" 為何呢,因為這樣的代碼,無論在那種編輯器上打開,都一定是對齊的?浇o別人,才不擔心形象受損。
                                   
                                                                   
                                   
                      3.空格、換行、常量替換、{}保護、還有效率。
      if((long_state_var==1)||(long_state_var==2)||((ch>0x2F)&&(ch代碼,他就感覺渾身難受、頭暈惡心…..
      狂吼一聲,這段代碼立馬會給改成這樣。
      if ((long_state_var==1)||(long_state_var==2) \
      ||((ch>0x2F)&&(ch空格也很讓人難過。
      趕緊快速編輯了而下,舒了口氣。
      if ( (long_state_var == 1)                \
      || (long_state_var == 2)                  \
      || ((ch>0x2F) && (ch空格的美化,更有層次感。
      當他開始維護這段代碼,搞清楚邏輯后,無意義的常量就會被處理成這樣的,長變量名也會被適當縮短。而0x2F、0x3A這種坑爹的的常量,則會被他心里狠狠地鄙視:
      “丫丫的,原創者這是在炫智商、秀優越嗎?”。
      #define MODE_NAME_1 (1) /* 簡單描述模式1 */
      #define MODE_NAME_2 (2) /* 簡單描述模式2 */
      if ( (stat == MODE_NAME_1) || (stat == MODE_NAME_2) \
      || ((ch>='0') && (ch常量。
      常量的含義,通常只有原創者才知道。
      如果沒有特別的說明,沒有一定的經驗,這個程序回頭在閱讀時就難以看懂。
      求哪位高手來一段鮮明對比的源碼吧?
      5. if 必有else,switch 必有default。
      在他的程序里你不會看到一個單一的if語句,哪怕else確實什么都不需要處理,你也會看到這樣的代碼。
      if (is_condition_true())
      {
      do_something();
      }
      else
      {
      /* do nothing */
      }
      因為,在多年的工作經驗中,他發現,系統的崩潰,多數死在else里面。這樣的代碼,告訴別人也告訴自己,此處的else是經過充分考慮,的確沒有需要處理的。下次自檢程序時,此處就可以快速跳過。
      同樣的道理,每一個switch,其default,也是經過深思熟慮的,充分防錯。
      switch (state)
      {
      case STATE_XXXX:
      break;
      case STATE_YYYY:
      break;
      ........
      default:
      /* do nothing */
      break;
      }
                                   
                                                                   
                                   
                   
    本文地址:http://www.portaltwn.com/thread-161463-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷