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

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