无用代码堆积的这种现象是软件开发当中非常普遍的,对于需求的频繁修改问题,主要的根源还是在于没有弄清开发这款软件的目的是什么,最终决定代码是否有用应该取决于用户,如代码具备的功能复合用户的需求、具备业务价值、这样就是有用的;
需求更改和修改代码是在软件开发过程中很正常的一件事情,但是这个不确定性在一定范围内有效,所以最佳解决方案就是软件迭代开发,迭代增量式开发,将整个开发周期分解成若干个时间段,每到一个固定时间就对软件进行一次迭代,每次迭代需要进行一次全面的测试和版本更新;对开发成果进行质量评测,这个过程需要听取用户的意见,以便于即使调整优化,避免无效的需求;
在软件开发之前,需要技术负责人准备相关文档,确定技术分工和协同完成的部分,还需要进行代码Review,以降低代码复杂度为目标,如不同技术之间的代码时长互相影响,就可以考虑这类技术开发独立模块,降低项目影响;另外测试团队应该有白盒、效率、单元测试等各类专职人员,最好完成一个功能就交给测试,
最后,软件开发是一件复杂的工作,为防止避免过程出错,需要摸索并建立完整的代码编写规范、变量命名规则、层次化设计、类和接口设计、最后到代码Review都很清楚,软件开发最重要的不是写代码,而是学会解决问题;