2.2软件构造工具
1.用于软件设计阶段描述设计思想和设计结果:
Modeling languages(e.g.,JSON)
2.关于软件构造过程各阶段的说法不正确的是:
Profiling是static analysis的一种典型形式
正确的有:
Code review 的目的是发现代码中的潜在错误
Refactoring是在不改变代码功能的前提下重写代码,以消除bug,提高质量
Build是将软件从开发状态转化为可运行状态的过程
3.以下环节无需执行正在开发的软件:
Code review
需要:
Dynamic code analysis
Debug
Testing
4.Dynamic code analysis/profiling解决不了的问题是:
发现程序中潜在的重复代码以便于抽取出来形成可复用函数/类
可以:
发现程序运行过程中的内存分配和占用情况
发现程序运行过程中每个类被实例化的数目,及其所占用的内存
发现程序潜在的性能瓶颈
5.以下过程可纳入自动化build:
Compiling .java into .class
Executing JUnit test cases
Using Checkstyle tool to check if code follows Google’s Java code style
Packaging .class files into .jar file and deploying it to a remote server
6.常规的构造次序是:
programming-refactoring-debugging-testing-dynamic code analysis/profiling-code review static code analysis-build
通过code review 和profiling找出可能的bug,通过testing找出真实的bug,通过debug找出bug的根源
先根据spec构造完备的测试用例,后续对代码的任何修改,都应重新运行测试用例
Build脚本是由配置语言书写,告知build工具如何一步一步完成自动化build任务