新聞中心

        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

          {

          /*已考慮無誤*/

          }

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



        關鍵詞: 代碼 常量 空格

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 墨脱县| 绩溪县| 沾化县| 平山县| 汤阴县| 登封市| 威远县| 镇巴县| 白山市| 齐河县| 黄冈市| 铜川市| 日土县| 普安县| 甘孜县| 炉霍县| 济源市| 大邑县| 南乐县| 乳山市| 随州市| 南陵县| 根河市| 金平| 衡南县| 宁都县| 襄汾县| 武功县| 枣庄市| 麦盖提县| 安仁县| 沁源县| 宜宾县| 乳源| 闽侯县| 巫山县| 安宁市| 大化| 台东县| 彰化市| 鄂托克旗|