开发维护大型项目的Java的建议

来源:互联网 发布:知而不争 不可谓忠翻译 编辑:程序博客网 时间:2024/04/27 23:50

开发维护大型项目的Java的建议.txt

开发维护大型项目的Java的建议.txt1、不要试图一下子搞懂整个项目2、关注于尽快交付价值有效的单元测试用例是理解大型项目代码的很好途径写一些笔记,或者画一些类图、时序图、数据模型图,以便你或日后其他的开发者维护3、维护大型项目所必须的技能3.1能够迅速发现需要的类3.2能够分析变更的影响模仿现有的特性使用相似的设计4、使用工具找到需要的变更内容以及变更产生的影响4.1 迅速发现需要变更内容的工具1)基本有两种方式理解一个用例的工作方式,静态代码分析和运行时分析。2)源码分析统计扫描所有代码并且展示类之间的关系,工具:Architexa, AgileJ, UModel, Poseidon等3)静态代码分析工具缺点在于无法确切展示用例中类或方法的运行时调用情况,可以通过“回调机制”(callback patterns)4)运行时分析工具能够展示类和方法在用例运行时的状态,工具包括:MaintainJ, Diver,jSonde,Java Call Tracer等。这些工具可以捕获运行时的堆栈状态,并以此为一个用例生成序列图和类图。5)序列图展示了该用例在运行时所有调用的方法6)若你在修复一个bug,那这个bug很可能就是这些被调用的方法之一。若你在增强已有功能,利用序列图理解调用流程然后再修改。可能是新增一个验证,修改DAO等。若你在新增功能,找到一些相似的特性,利用序列图理解调用流程然后模仿开发新功能。7)要小心挑选运行时分析工具8)若单元测试有效,可以通过运行单元测试发现变更有没有破坏其他测试用例9)仍然是有两种技术静态代码分析和运行时分析可以使用。市场中有很多静态代码分析工具可用。如:Lattix, Structure101, Coverity, nWire and IntelliJ's DSM。5、对上述内容的两个忠告5.1不要降低代码质量5.2 不要停止深入理解项目架构6、结论1)在对项目进行必要了解的前提下进行快速交付。2)你可以在不降低代码质量的前提下这么做。3)若修复一个bug,迅速定位并修复。4)有必要可以使用运行时分析工具。5)若新增一个特写,可以寻找相似特写,理解流程(有必要使用工具)并编写。