shinewang

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            53 隨筆 :: 0 文章 :: 200 評論 :: 0 Trackbacks
          這是一個急三火四的年代,人們很不得一口吃下一個胖子,做軟件開發的恨不得一下子就完成一個軟件,然后就在家里數鈔票。

          心急火燎的結果呢?下面的情景是否會讓你有種似曾相識的感覺:
          * 費了半天努力修改的bug,仔細想來,其實已經在需求明明白白寫好了,只是開發時未曾注意到。
          * 好容易寫好的一段代碼,還沒來得及向別人炫耀,卻發現原來一個好好的功能出了問題,更糟糕的是,根本看不出這兩段代碼有什么聯系。
          * 這個bug讓你想罵人,因為它居然是其他人修改另一個bug引入的。
          * 這個地方有人改過,不過,修改的代碼解決的根本不是真正的問題。
          * 客戶要的是一個小功能,但是對我們來說,加入它無異于重寫整個系統。
          ……

          已經有無數人用無數的事實告訴我們,在軟件開發中,要付出就趁早,越晚代價越大。當然,我們能看到的大多數例子是在開發的不同階段,比如需求比開發便宜,開發比測試便宜,測試比維護便宜等等。其實,在開發之中,也是如此,新鮮出爐的代碼絕對比那些陳年舊帳更容易修改,不信的話,找一段自己幾個月前寫的代碼理解一下試試。

          前面那些似曾相識的場景,多半都是“急”出來的。可現實是,我們需要在后期用更大的精力為前面的“急”買單,所以,為了不給未來的自己挖坑,我們不妨慢一些:
          * 仔細了解一下需求,分析需求是不是合理,而不要低著頭就開始堆代碼。
          * 給出一個解決方案時,考慮一下會對已有的代碼造成怎樣的影響,打破窗戶容易,修補難。
          * 多花點時間重構,代碼上的臭味越到后期顯得越刺激。
          * 修改bug時,停下來想想什么才是真正的問題,治標不治本的方案只會讓人重回夢境。
          * 寫測試吧!貌似的浪費會讓你在后期遇到bug時感激涕零。
          ……

          軟件開發其實是一個跟復雜度做斗爭的過程,從某種程度來說,復雜度會一直在增長,我們所能做的就是盡可能降低復雜度增長的速度。我曾經和一些朋友說過,前期所做的一切是讓我們在后面有更大空間揮霍。慢下來,讓我們有時間思考自己的每一步是否邁得是否穩當,穩當的行進,心里才踏實。

          這里的慢,實際上,還是為了快,殊途同歸。
          posted on 2008-12-03 15:16 shinewang 閱讀(1031) 評論(1)  編輯  收藏 所屬分類: 其他

          評論

          # re: [zz]慢速軟件開發 2009-02-06 18:04 愛上鳥的魚
          厲害,我也想總結,可是總是表達不清楚。
          我也想寫測試,只是對于hibernate、struts應當怎樣寫測試用例,還不是很清楚。所以,想請教一下。  回復  更多評論
            

          主站蜘蛛池模板: 朝阳县| 荆门市| 泾阳县| 阜宁县| 福泉市| 家居| 新绛县| 铜鼓县| 无棣县| 武宣县| 上高县| 海兴县| 旬邑县| 高青县| 荣成市| 庆元县| 凉山| 永城市| 固阳县| 贵港市| 淄博市| 泾源县| 永康市| 丹棱县| 清徐县| 龙游县| 奉节县| 东城区| 德江县| 从江县| 隆林| 泽普县| 永宁县| 容城县| 深水埗区| 房山区| 潞西市| 正阳县| 铁岭市| 城固县| 合山市|