無用代碼堆積的這種現(xiàn)象是軟件開發(fā)當(dāng)中非常普遍的,對(duì)于需求的頻繁修改問題,主要的根源還是在于沒有弄清開發(fā)這款軟件的目的是什么,最終決定代碼是否有用應(yīng)該取決于用戶,如代碼具備的功能復(fù)合用戶的需求、具備業(yè)務(wù)價(jià)值、這樣就是有用的;

需求更改和修改代碼是在軟件開發(fā)過程中很正常的一件事情,但是這個(gè)不確定性在一定范圍內(nèi)有效,所以最佳解決方案就是軟件迭代開發(fā),迭代增量式開發(fā),將整個(gè)開發(fā)周期分解成若干個(gè)時(shí)間段,每到一個(gè)固定時(shí)間就對(duì)軟件進(jìn)行一次迭代,每次迭代需要進(jìn)行一次全面的測(cè)試和版本更新;對(duì)開發(fā)成果進(jìn)行質(zhì)量評(píng)測(cè),這個(gè)過程需要聽取用戶的意見,以便于即使調(diào)整優(yōu)化,避免無效的需求;
在軟件開發(fā)之前,需要技術(shù)負(fù)責(zé)人準(zhǔn)備相關(guān)文檔,確定技術(shù)分工和協(xié)同完成的部分,還需要進(jìn)行代碼Review,以降低代碼復(fù)雜度為目標(biāo),如不同技術(shù)之間的代碼時(shí)長互相影響,就可以考慮這類技術(shù)開發(fā)獨(dú)立模塊,降低項(xiàng)目影響;另外測(cè)試團(tuán)隊(duì)?wèi)?yīng)該有白盒、效率、單元測(cè)試等各類專職人員,最好完成一個(gè)功能就交給測(cè)試,
最后,軟件開發(fā)是一件復(fù)雜的工作,為防止避免過程出錯(cuò),需要摸索并建立完整的代碼編寫規(guī)范、變量命名規(guī)則、層次化設(shè)計(jì)、類和接口設(shè)計(jì)、最后到代碼Review都很清楚,軟件開發(fā)最重要的不是寫代碼,而是學(xué)會(huì)解決問題;