成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

讀書百遍其義自見 好代碼你需要寫兩遍

開發(fā) 開發(fā)工具
真正好的代碼需要程序員多看多寫,甚至可能需要程序員至少寫兩遍。不過我們也會有疑問,我們能有時間每次寫兩遍嗎?

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

進(jìn)化中的需求

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

進(jìn)化中的代碼!

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

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

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

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

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

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

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

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

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

  祝你好運,堅持重新改進(jìn)你的代碼!

【編輯推薦】

  1. 揭秘:Facebook如何發(fā)布代碼
  2. 25個不錯PHP的游戲編程腳本代碼分享
  3. 程序員應(yīng)該具備的11項基本技能
  4. .NET程序員是否應(yīng)該放棄VB.NET?
  5. 在西方程序員眼里 東方的程序員是什么樣的?
責(zé)任編輯:彭凡 來源: 開源中國社區(qū)
相關(guān)推薦

2024-10-08 13:19:56

2009-03-13 15:32:49

程序員論文架構(gòu)師

2018-08-27 05:29:29

PandasPython數(shù)據(jù)集

2015-07-30 09:48:38

自學(xué)編程3遍讀書法

2024-12-17 10:07:13

死鎖數(shù)據(jù)庫日志

2021-02-05 06:41:52

運維生產(chǎn)日志重復(fù)打印

2021-05-20 08:30:47

運維日志打印

2022-02-22 09:16:41

AndroidWindows狀態(tài)欄

2015-10-10 11:10:24

重敲代碼拷貝粘貼

2014-03-31 09:13:20

2017-12-26 14:17:24

潤乾報表

2023-01-10 19:47:47

Redis原理多線程

2013-02-18 13:36:06

Google街景

2021-05-19 08:55:37

代碼程序員經(jīng)驗分享

2021-08-12 10:36:18

order byMySQL數(shù)據(jù)庫

2020-09-21 05:57:11

代碼編程語言開發(fā)

2019-04-11 14:51:12

數(shù)據(jù)

2020-02-25 23:36:04

代碼開發(fā)工具

2021-06-15 07:15:15

Oracle底層explain
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久99精品久久久久蜜桃tv | 天天综合久久 | 伊人网综合在线观看 | 国产视频一区在线观看 | 日韩在线观看一区 | 一二三区视频 | 欧美黄色片| 岛国午夜| 手机在线不卡av | 欧美男人天堂 | 夜夜骑首页 | 777zyz色资源站在线观看 | 成人精品在线视频 | 毛片com| 男女羞羞视频免费看 | 97精品超碰一区二区三区 | 黄色大片免费网站 | 亚洲第一女人av | 欧美韩一区二区 | 2018中文字幕第一页 | 亚洲香蕉在线视频 | 亚洲精品一区二区 | 男人av的天堂 | 欧美一级久久精品 | 午夜噜噜噜| 亚洲成人福利视频 | 97色在线观看免费视频 | 久久伊人精品 | 日韩欧美在线视频一区 | 欧美性猛交一区二区三区精品 | 欧美区在线观看 | 日韩国产免费观看 | 久久出精品 | 亚洲网站在线观看 | 国产精品s色 | 国产成人高清 | 精品久久久久久红码专区 | 久干网| 欧美性另类 | 久久新 | 国产成人精品一区二区三 |