题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第5章 软件工程

运行几乎没变快,却让代码难读,这种优化值得做吗?

6 道章节练习题
单选题5.4 软件实现5 / 6

报表程序已满足响应要求。一次重写仅带来难以区分于正常波动的耗时变化,却把清晰步骤压成难读的嵌套表达式,使测试和维护更困难。较合理的决定是()。

选择答案
未作答
答案与解析

正确答案 C

题设没有显示有意义的性能收益,却明确增加了理解、测试和维护成本,不值得仅为缩短代码采用重写版。先保留清晰实现,再用实际瓶颈和测量结果决定后续优化,选C。

这道题的两个条件不能漏读:当前响应已经达标,新方案的收益又没有被可靠地区分出来。此时不能用“看起来更紧凑”代替效率证据。代码少几行,并不直接等于运行更快或占用更少内存;复杂表达式还可能让边界错误更难发现。不过,若系统有明确的实时期限或资源约束,测量证明某种调整有显著收益,就需要重新权衡。教材反对的是没有重要效率改善、却损害简单性、可读性和正确性的方法,不是反对一切优化。

选项分析

A
代码行数和执行时间不是直接对应关系,短表达式也可能包含更多工作或更难检查的逻辑。
B
性能优化仍需考虑正确性、测试与维护成本,题干已经指出这些代价有所增加。
C
同时考虑现有要求、可测收益与维护代价,没有把代码紧凑误当成效率证明。
D
从一次不划算的重写推导出永远禁止优化,忽略不同系统可能有严格的性能约束。

容易混淆的地方

把代码短、技巧多当作性能高的证据,或从反对无效优化走向反对所有优化的另一个极端。

再巩固一步

  • 评估优化先问:指标是什么、哪里是瓶颈、收益能否稳定复现、正确性与维护成本有没有变差。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.4.2 · 纸书第222页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息