重构时机的判断 — 软件工程选择题
题目
某电商系统中的订单金额计算函数运行多年,测试完备且近期无相关需求变更。代码评审时发现:该函数长达180行,内部嵌套的条件判断中有一段与库存模块完全重复的折扣计算逻辑,且函数名calculate并不能反映其实际职责。团队正在规划下一迭代,其中订单模块预计要新增一种会员等级折扣规则。以下关于重构时机的判断,最恰当的是:
A. 立即重构:函数过长、命名失当与重复逻辑都是明显坏味道,且新增折扣规则前重构可降低修改波及面
B. 暂不重构:代码运行正常且无变更需求,只有在出现线上故障后才值得重构
C. 只重命名函数即可:命名问题影响可读性,重复逻辑与过长函数可留待新增功能时顺带处理
D. 先新增会员折扣规则再重构:优先交付功能,重构放到最后统一进行