1、在 Docker 中查找重构候选对象。仓库地址:https://github.com/moby/moby;编程语言:Go;领域:Docker 自动将应用程序部署在包含运行系统所需一切的容器内;分析快照:https://codescene.io/projects/169/jobs/3964/results/code/hotspots/system - map。从测试自动化的角度检查 Docker 中的热点区域。是否存在维护问题?代码朝哪个方向发展?你建议将改进重点放在哪里?
维护问题可能包括:
- 测试用例覆盖不全
- 测试代码与生产代码耦合度高
- 测试执行效率低
代码可能朝着以下方向发展:
- 提升性能
- 增强安全性
- 支持更多功能和平台
建议将改进重点放在:
- 提高测试覆盖率
- 优化测试框架和流程
- 提升代码可测试性
2、对tensorflow/contrib/layers/python/layers/layers.py进行代码分析。检查内部变更耦合结果,并比较convolution2d_transpose和fully_connected这两个函数。查看这两个函数中不同的代码块,判断是否有显示潜在错误的可能遗漏,指出有哪些需要注意的风格问题。
在 fully_connected 函数中有对输入参数 num_outputs 的类型检查,而在 convolution2d_transpose 函数中缺失该检查。此外, fully_connected 函数中的条件检查
if not normalizer_params:
在 convolution2d_transpose 函数中写法不同,虽属小的风格变化,但小的不一致会累积起来。
3、在TensorFlow分析中,为core/lib/core包建议一种新的模块化结构,以指导文件组的使用并稳定更大的代码块。(以突出显示的线程池模块作为提取代码的起点。)
- TensorFlow的
core/lib/core包内聚性较低,可拆分为更小、内聚性更强的包。 - 线程池模块可放入并发包。
- 竞技场和引用计数模块与堆内存管理相关,可共同包含在新的分配包中。
4、对文件 /erts/emulator/beam/erl_process.c 进行 X-Ray 分析,寻找可以通过引入相似代码的共享抽象来消除的内部变更耦合。如果成功,你将获得快速收益,因为你成功降低了文件的整体复杂度。
先对文件 `/erts/emulator/beam/erl_process.c` 运行 X-Ray 分析,该分析需解析文件中的方法,将其映射到每次提交中不同的代码块,最后对结果数据集进行变更耦合计算。然后在分析结果里寻找内部变更耦合,尝试引入共享抽象来处理相似代码,若能成功消除耦合,就能降低文件整体复杂度,获得快速收益。
5、探索 PhpSpreadsheet 中逻辑组件的复杂性趋势。查看应用程序代码和测试代码的协同演化情况。这些趋势是否表明单元测试得到了积极维护,还是有令人担忧的迹象?思考一下从趋势角度来看,这些警告信号会是什么样子。
逻辑组件趋势分析
逻辑组件的趋势显示存在两种情况:

最低0.47元/天 解锁文章
1527

被折叠的 条评论
为什么被折叠?



