任何有價(jià)值的軟件确虱,都值的投入大量的時(shí)間和精力去持之以恒的改進(jìn)佃乘。相反降宅,沒有價(jià)值的軟件已卸,即使只需要極少投入,都是在浪費(fèi)時(shí)間和精力瞧省。
不排除少數(shù)天才或者項(xiàng)目經(jīng)驗(yàn)極為豐富的人扯夭,他們開發(fā)的軟件即使是最初的版本,都是很健壯和完善的鞍匾,以至于后期只需要極小的改動(dòng)交洗。但絕大多數(shù)的人,很難做到如此完美橡淑。因此构拳,大部分的軟件,是需要一個(gè)逐步完善的過程梁棠,這個(gè)過程稱之為軟件進(jìn)化過程置森。
軟件并不一定會(huì)往好的方向進(jìn)化,有很多軟件變的越來越“臟”的例子符糊。那么凫海,有哪些方式可以保證軟件向著好的方向進(jìn)化?這是我們要重點(diǎn)分析和研究的部分男娄。
要保持簡(jiǎn)單盐碱,大道至簡(jiǎn)。你寫的任何一行代碼沪伙,將來都是需要維護(hù)的,所有的BUG都藏匿于代碼之中县好。沒有代碼的軟件是不需要維護(hù)的围橡,越少代碼的軟件越容易維護(hù)。所以缕贡,雖然軟件進(jìn)化是代碼量逐步增多的過程翁授,但是我們的原則卻始終是“少寫代碼”拣播。
時(shí)刻保持對(duì)代碼的重構(gòu)。重構(gòu)代碼雖然不像開發(fā)新功能那樣給人帶來顯而易見的成就感收擦,但是可以使代碼保持“潔凈”贮配。如同房間需要每天打掃一樣,代碼也需要通過不斷的重構(gòu)來保障可讀性塞赂、可維護(hù)性和可擴(kuò)展性泪勒。
擁抱需求變動(dòng)。軟件是現(xiàn)實(shí)業(yè)務(wù)的輔助工具宴猾,所有的軟件都源自于現(xiàn)實(shí)需求圆存。然而,很少有人能夠在剛開始時(shí)就將整個(gè)業(yè)務(wù)需求理解的很透徹仇哆,也很難保證需求在傳達(dá)的過程中不會(huì)被誤解沦辙。所以,既希望于在軟件編碼之前就將整個(gè)需求理解透徹讹剔,往往是不現(xiàn)實(shí)的油讯。一個(gè)成熟的軟件需要不斷的用戶反饋和版本迭代,才可能形成延欠。
完善軟件文檔陌兑。【待完成】
統(tǒng)一編程規(guī)范衫冻【魑桑【待完成】