shinewang

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            53 隨筆 :: 0 文章 :: 200 評(píng)論 :: 0 Trackbacks
          這是一個(gè)急三火四的年代,人們很不得一口吃下一個(gè)胖子,做軟件開(kāi)發(fā)的恨不得一下子就完成一個(gè)軟件,然后就在家里數(shù)鈔票。

          心急火燎的結(jié)果呢?下面的情景是否會(huì)讓你有種似曾相識(shí)的感覺(jué):
          * 費(fèi)了半天努力修改的bug,仔細(xì)想來(lái),其實(shí)已經(jīng)在需求明明白白寫(xiě)好了,只是開(kāi)發(fā)時(shí)未曾注意到。
          * 好容易寫(xiě)好的一段代碼,還沒(méi)來(lái)得及向別人炫耀,卻發(fā)現(xiàn)原來(lái)一個(gè)好好的功能出了問(wèn)題,更糟糕的是,根本看不出這兩段代碼有什么聯(lián)系。
          * 這個(gè)bug讓你想罵人,因?yàn)樗尤皇瞧渌诵薷牧硪粋€(gè)bug引入的。
          * 這個(gè)地方有人改過(guò),不過(guò),修改的代碼解決的根本不是真正的問(wèn)題。
          * 客戶要的是一個(gè)小功能,但是對(duì)我們來(lái)說(shuō),加入它無(wú)異于重寫(xiě)整個(gè)系統(tǒng)。
          ……

          已經(jīng)有無(wú)數(shù)人用無(wú)數(shù)的事實(shí)告訴我們,在軟件開(kāi)發(fā)中,要付出就趁早,越晚代價(jià)越大。當(dāng)然,我們能看到的大多數(shù)例子是在開(kāi)發(fā)的不同階段,比如需求比開(kāi)發(fā)便宜,開(kāi)發(fā)比測(cè)試便宜,測(cè)試比維護(hù)便宜等等。其實(shí),在開(kāi)發(fā)之中,也是如此,新鮮出爐的代碼絕對(duì)比那些陳年舊帳更容易修改,不信的話,找一段自己幾個(gè)月前寫(xiě)的代碼理解一下試試。

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

          軟件開(kāi)發(fā)其實(shí)是一個(gè)跟復(fù)雜度做斗爭(zhēng)的過(guò)程,從某種程度來(lái)說(shuō),復(fù)雜度會(huì)一直在增長(zhǎng),我們所能做的就是盡可能降低復(fù)雜度增長(zhǎng)的速度。我曾經(jīng)和一些朋友說(shuō)過(guò),前期所做的一切是讓我們?cè)诤竺嬗懈罂臻g揮霍。慢下來(lái),讓我們有時(shí)間思考自己的每一步是否邁得是否穩(wěn)當(dāng),穩(wěn)當(dāng)?shù)男羞M(jìn),心里才踏實(shí)。

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

          評(píng)論

          # re: [zz]慢速軟件開(kāi)發(fā) 2009-02-06 18:04 愛(ài)上鳥(niǎo)的魚(yú)
          厲害,我也想總結(jié),可是總是表達(dá)不清楚。
          我也想寫(xiě)測(cè)試,只是對(duì)于hibernate、struts應(yīng)當(dāng)怎樣寫(xiě)測(cè)試用例,還不是很清楚。所以,想請(qǐng)教一下。  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 格尔木市| 潜山县| 望都县| 保德县| 常宁市| 莎车县| 清徐县| 兰西县| 山西省| 河曲县| 陇西县| 文化| 富顺县| 泗水县| 南涧| 得荣县| 浮梁县| 霍城县| 梧州市| 禄劝| 抚松县| 五指山市| 突泉县| 潮州市| 马公市| 铜山县| 句容市| 应城市| 修武县| 永善县| 五寨县| 海城市| 扎兰屯市| 盘锦市| 东港市| 汾阳市| 尼勒克县| 海原县| 忻城县| 浦江县| 邯郸县|