新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 一線研發之聲 之 完美主義者的程序員特征

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

        作者: 時間:2014-07-30 來源:網絡 收藏

          3.、換行、替換、{}保護、還有效率。

        本文引用地址:http://www.104case.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();

          }

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

          再瞄一眼,會發現沒有也很讓人難過。

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

          if ( (long_state_var == 1)                

          || (long_state_var == 2)                 

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

          {

          do_something();

          }

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

          當他開始維護這段,搞清楚邏輯后,無意義的就會被處理成這樣的,長變量名也會被適當縮短。而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<='9')) ) /* 數字字符 */

          {

          do_something(ch);

          }

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

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

          #include

          ……

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

          || is_digit(ch) )

          {

          do_something(ch);

          }

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

          后來他在優化過程中發現,ch的值在99%的情況下都滿足'0'~'9',

          這個時候,這段代碼又會被優化成這樣的。

          if (is_digit(ch))

          {

          do_something(ch);

          }

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

          {

          do_something(ch);

          }

          else

          {

          /*已考慮無誤*/

          }

          為了效率,可以犧牲一點代碼可閱讀性。



        關鍵詞: 代碼 常量 空格

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 容城县| 黔西| 商城县| 桓台县| 玉屏| 泸水县| 东台市| 镶黄旗| 肥西县| 东安县| 老河口市| 通渭县| 拜城县| 石河子市| 屏边| 舟曲县| 洱源县| 垫江县| 永州市| 邵东县| 洪泽县| 镇原县| 湟源县| 应城市| 金寨县| 陈巴尔虎旗| 高邮市| 旺苍县| 厦门市| 额敏县| 南康市| 峨边| 麻城市| 岗巴县| 莱州市| 武山县| 乌拉特中旗| 梁河县| 乃东县| 华亭县| 特克斯县|