食用指南
在本次作业中,你将围绕一个经典的遗留代码案例,分析一段功能正确但结构混乱的 C++ 代码,并思考如何在不改变外部接口和原有行为的前提下进行重构。
你需要阅读Gilded Rose重构题目中的代码和业务规则,完成三道书面练习:指出原代码中存在的重复、嵌套和职责不清问题;设计一种更清晰的重构方案;并讨论当系统需要加入新物品类型时,不同实现方案在可读性、可测试性和扩展性上的差异。
本次作业的重点不是写出某一种唯一正确的重构代码,而是理解重构的目标:在保持行为不变的前提下,让代码更容易阅读、验证和扩展。如果你愿意,也可以获取题目中的配套代码包,实际动手修改 updateQuality() 函数,并通过比较重构前后的输出确认行为没有变化。
作业截止后不久,我们会发布本次书面练习的参考答案,并结合大家的提交情况补充说明常见的重构误区。
作业要求
你需要在教学网对应的作业模块提交:
- 一个PDF文件,命名为"学号-姓名"(如2500010086-二进雉),内容包含本次作业三道题目的解答
你可以使用生成模型辅助自己理解代码重构的相关知识,但是不要让生成模型为你生成本次作业的答案。如果我们发现你提交的解答有明显的生成模型痕迹,你的作业分数很可能受到相当程度的影响。
每道题目的具体解答要求见题目文档。
任何符合上述格式的作业,只要态度认真,无学术诚信问题,都将得到满分。