亚洲AV综合AV国产AV百度云-在线观看成人永久免费网站-人妻精品无码一区二区三区-亚洲AV无码理论亚洲毛片

您好,微網(wǎng)歡迎您! 登錄  |  注冊
汕頭公司 |  深圳公司              咨詢熱線:400-830-8248               微網(wǎng)優(yōu)點  |  視頻介紹 |  服務(wù)支持
開店咨詢
咨詢電話:400-830-8248
微網(wǎng)商學(xué)院
中國第一微商學(xué)院
網(wǎng)絡(luò)商學(xué)院
首頁 > 技術(shù)前沿
[觀點]好程序需要至少寫兩遍
文章出處:微網(wǎng)  更新時間:2011-11-04  點擊率:
[觀點]好程序需要至少寫兩遍


最近這些年,越來越多的人開始轉(zhuǎn)向敏捷開發(fā)。各種敏捷開發(fā)技術(shù)并不新鮮,大多是在80和90年代發(fā)展形成。但只是在最近這些年,程序員和(更重要的是)一些商業(yè)顧問,架構(gòu)師,客戶開始變得喜歡和擁抱敏捷開發(fā)。

進化中的需求

現(xiàn)在的一種普遍的認識是,在開始編碼前,你不可能把所有的需求都寫完備。這些需求的確定是一個逐漸發(fā)展進化的過程。使用短開發(fā)周期/springts,我們一步步的開發(fā)程序,使用多次迭代的方式完成從客戶方得到的最新需求。這些都是基于一個進化的思想。就像生活中,我們總是通過一步步的改進來達到最好一樣。

進化中的代碼!

可是,這就完事了嗎?如今大部分的程序員都認識到了需求必定是一步步的挖掘出來的。但他們卻忘了自己的工作。克麄?nèi)匀徽J為他們的框架和架構(gòu)在項目開始之初就定型了。同樣,代碼一旦寫成,程序就完成了…不是嗎?

錯。以我的經(jīng)驗,所有好的程序都至少要寫兩遍。第一編是你過于倉促,不能很好的理解需求、實現(xiàn)需求。不錯,當(dāng)看到了某種業(yè)務(wù)模式,我們知道要提煉出方法,圍繞著它實現(xiàn)業(yè)務(wù)職責(zé)。你最終寫成的代碼是非常好的,但,它不是優(yōu)秀的。

在我們目前的項目中,幾乎所有的重要功能模塊都從頭重寫過數(shù)次。慢慢的但明顯的,代碼變得越來越好。一旦你對某段程序做了第三或第四次增補,或又找到了一個bug,你能感覺到這程序什么地方有異味。你開始躲避觸碰這段程序,你為不需要在處理這段程序而高興。當(dāng)有了這樣的感覺后我會怎么做?我會刪了這些代碼。

可是…可是…這樣你就要完全從頭開始了?

你又錯了!當(dāng)然,IDE里空了,代碼全沒了,也許一些測試程序會存留下來。但你卻對你的代碼應(yīng)該做什么有了扎實的認識。你也知道以前這段代碼是什么樣的,你知道它以前的內(nèi)傷和異味在哪里!有了這些認識,你能寫出更好,甚至是非常優(yōu)秀的代碼!不錯,我們也可以保留這些代碼,使用一些重構(gòu)措施…但你可能再也找不到這樣好的從頭開始、更好的編寫它的機會了。

再次,就像生活中的所有事情:要讓事情變的完美,你需要經(jīng)過多次的進化迭代。對你的需求是這樣,對你的架構(gòu)和代碼也是如此。

寫兩遍,就意味著兩倍的時間嗎?

當(dāng)告訴人們我的觀點是所有的程序都至少寫兩遍時,他們擔(dān)心花費兩倍的項目時間。但事實遠非如此。下面是原因:

  • 第二次寫代碼只是用去你初次寫代碼的很少一部分的時間。
  • 重寫之后,代碼的質(zhì)量會有明顯的提高,可維護性,可擴展性都有改善,包括編程的速度。

祝你好運,堅持重新改進你的代碼!

文章出自:外刊IT評論

英文出自:redcode

聲明:本網(wǎng)部份文章為轉(zhuǎn)載文章,在每篇文章底部有說明,文章的觀點和立場僅代表作者個人立場,不代表微網(wǎng)立場,若是文章轉(zhuǎn)載中有侵范您的權(quán)益,請發(fā)郵件到 [email protected]或致電13922854199通知刪除,謝謝!

QQ咨詢  技術(shù)總監(jiān)  微網(wǎng)顧問  陳經(jīng)理  渠道經(jīng)理  

免費電話 免費熱線:400-830-8248  

微信咨詢  

注冊開店

代理加盟

返回頂部