<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 一線研發(fā)之聲 之 完美主義者的程序員特征

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

          作者: 時(shí)間:2014-07-30 來源:網(wǎng)絡(luò) 收藏

            3.、換行、替換、{}保護(hù)、還有效率。

          本文引用地址:http://www.ex-cimer.com/article/256101.htm

            if((long_state_var==1)||(long_state_var==2)||((ch>0x2F)&&(ch<0x3A)))

            do_something();

            看到這種,他就感覺渾身難受、頭暈惡心…..

            狂吼一聲,這段立馬會給改成這樣。

            if ((long_state_var==1)||(long_state_var==2)

            ||((ch>0x2F)&&(ch<0x3A)))

            {

            do_something();

            }

            長字符行要換行,模塊要添加{}保護(hù),這是做人的底線。

            再瞄一眼,會發(fā)現(xiàn)沒有也很讓人難過。

            趕緊快速編輯了而下,舒了口氣。

            if ( (long_state_var == 1)                

            || (long_state_var == 2)                 

            || ((ch>0x2F) && (ch<0x3A)) )

            {

            do_something();

            }

            加上的美化,更有層次感。

            當(dāng)他開始維護(hù)這段,搞清楚邏輯后,無意義的就會被處理成這樣的,長變量名也會被適當(dāng)縮短。而0x2F、0x3A這種坑爹的的,則會被他心里狠狠地鄙視:

            “丫丫的,原創(chuàng)者這是在炫智商、秀優(yōu)越嗎?”。

            #define MODE_NAME_1 (1) /* 簡單描述模式1 */

            #define MODE_NAME_2 (2) /* 簡單描述模式2 */

            if ( (stat == MODE_NAME_1) || (stat == MODE_NAME_2)

            || ((ch>='0') && (ch<='9')) ) /* 數(shù)字字符 */

            {

            do_something(ch);

            }

            常量用宏替代,這樣的代碼意圖會比較清晰。

            后來他感覺,還是有些不妥。干脆又改了下,最后變成這樣。

            #include

            ……

            if ( (stat == MODE_NAME_1) || (stat == MODE_NAME_2)

            || is_digit(ch) )

            {

            do_something(ch);

            }

            is_digit的加入,使得代碼與注釋渾然天成。

            后來他在優(yōu)化過程中發(fā)現(xiàn),ch的值在99%的情況下都滿足'0'~'9',

            這個(gè)時(shí)候,這段代碼又會被優(yōu)化成這樣的。

            if (is_digit(ch))

            {

            do_something(ch);

            }

            else if ((stat == MODE_NAME_1) || (stat == MODE_NAME_2))

            {

            do_something(ch);

            }

            else

            {

            /*已考慮無誤*/

            }

            為了效率,可以犧牲一點(diǎn)代碼可閱讀性。



          關(guān)鍵詞: 代碼 常量 空格

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();