全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
判断:自动化构建中,只要开发者的本机已安装某依赖库,构建配置就无需声明该依赖,项目在其他环境中也能稳定构建。
登录后查看答案
某功能的测试先因缺少实现而失败,开发者随后补上最少代码使测试通过。有人判断:此时进入重构阶段,可以改变程序对外行为,只要现有测试仍全部通过。请判断该说法是否正确。
某方法篇幅很长,包含多段不同的处理逻辑,阅读和理解都较困难。判断:这体现了“长方法”代码坏味道。
判断:在质量成本模型中,预防成本与鉴定成本属于符合性成本,内部失败成本与外部失败成本属于不符合性成本。
性能分析发现某批处理程序的热点循环中,每轮都会创建内容相同的正则表达式。将正则表达式预编译到循环外,且确认程序行为不变后,测试显示端到端运行时间没有改善;此时仍应仅凭减少了对象创建就认定该优化有效并保留。判断该表述正误。
判断:某团队用插桩式性能分析器分析一个运行缓慢的模块后发现,该模块自身代码(不含其调用的子函数)仅占总运行时间的很小比例,而时间几乎全部花在其内部调用的库函数上。据此,团队认为该模块本身不是性能瓶颈,优化应转向库函数的调用路径,而不是修改该模块自身的实现。
判断:定位程序性能瓶颈时,只需查看源代码中行数最多的函数,无需运行程序或采集性能数据。
某自动化构建配置中,任务声明为:test 依赖 compile,package 依赖 compile 和 test;配置文件却按 package、test、compile 的顺序书写。若 compile 已完成而 test 仍在执行,判断:构建工具可以启动 package,因为 package 的直接依赖 compile 已完成。
某团队的 CI 按发布标签检出代码并执行构建,但允许标签在创建后被重新指向其他提交,构建记录也只保存标签名。有人据此断言:即使标签后来被移动,仅凭构建记录中的标签名仍能唯一确定该次构建实际使用的代码版本。判断该断言正误。
判断:构建任务检出版本控制库中的指定提交,并使用该提交中的构建脚本执行构建,可以使构建过程与代码版本对应。
某团队对新功能先编写测试,再以最小改动使测试通过,并持续重构;现有测试全部通过。团队据此判断:采用TDD必然降低缺陷率并保证代码易维护,即使测试覆盖不充分、断言质量较差也不例外。判断该判断是否正确。
判断:采用测试驱动开发时,先编写失败测试再实现功能,能够提供快速反馈并帮助维持已有行为;因此,只要当前测试全部通过,就能保证代码不存在缺陷。
对输入数据按预期行为划分等价类后,每个等价类至少选取一个代表值进行测试,属于等价类覆盖;这并不意味着穷尽测试了该等价类中的所有输入。判断正误。
某项目使用静态检查工具扫描编码规范,并为历史遗留代码建立基线文件,质量门禁规则为:新增违规数必须为 0,且总违规数不得超过基线数。某次合入请求中,工具报告总违规数为 120,基线数为 120,新增违规数为 0。评审者认为,由于总违规数仍为 120,没有达到完全零违规,因此该合入请求不能通过质量门禁。这种观点是否正确?
判断:对下面陈述的正误作出判断。某同学认为:在识别出重复代码这一坏味道后,使用重构手法「提取函数(Extract Method)」时,只要把重复的代码段原样复制到一个新函数中,再让原位置调用该新函数即可,无需检查被提取代码段中使用的局部变量是否需要作为参数传入。
某校园场地预约模块对外提供“预约”“取消预约”和“查询可用时段”操作。为使调用方能适配模块内部实现的变化,接口应公开预约记录的数据结构及其存储方式;只要操作名称不变,调用方对这些细节的依赖就不违背信息隐藏原则。判断该表述是否正确。
某日志模块的函数只需根据给定的日志级别,返回是否需要记录该日志。调用者不需要日志内容或配置详情。判断:该函数应接收判断所需的日志级别参数,并返回一个布尔值。
某程序令 i←0,随后只要 i<m 就执行“处理下标 i 的元素;i←i+2”。有人断言:该循环的循环不变式是“每次进入循环体时,所有小于 i 的合法下标都已处理”。判断该断言是否正确。
判断:任何算法都可以由顺序、选择、循环三种基本控制结构组合而成,因此在一个正确的程序中,选择结构和循环结构不允许互相嵌套使用。
判断题:小王认为,编码规范的自动化检查工具(如静态分析器、格式检查器)能够自动发现并修复所有违反编码规范的问题,因此开发者在提交代码前无需再自行阅读和检查代码风格。这种观点是否正确?