首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在最初设计错误的类中添加功能?

如何在最初设计错误的类中添加功能?
EN

Software Engineering用户
提问于 2018-01-03 20:36:37
回答 1查看 174关注 0票数 3

我有一个外科医生班,在不断地变化。

代码语言:javascript
复制
class Surgeon
{
   string name, discipline;
 public:
    Surgeon(string _name, string _discp) : name{_name}, discipline{_discp}{}
    void writeDir(string _dir);
    void readDir(string _dir);
}

现在我需要为外科医生添加录音设置。记住坚实的原则,这迫使我回到外科医生班,添加一个录音设置,并修改外科医生课程中的所有内容。现在,我也意识到,目前软件的实现已经增加了公司的价值。重构是不必要的,但是为了正确地完成这个任务,我需要重构整个类。如果我只是添加了与当前设计一起工作的特性,那么我只是在延续糟糕的设计。

软件工程师在哪里提供的价值最大?我应该生成快速显示结果但将来容易出错的代码吗?还是应该延迟快速结果以生成更健壮的好代码?如果有的话,幸福的媒介是什么呢?

EN

回答 1

Software Engineering用户

发布于 2018-01-03 21:35:19

重构是不必要的,但是为了正确地完成这个任务,我需要重构整个类。

这是矛盾的。您不能在指定类应该重构的同时声称重构是不必要的。在这种情况下,为了遵循可靠的原则,需要重构现有的代码。“软件的当前实现已经为公司增加了价值”这一事实是无关紧要的:您不重构现有代码,因为它没有价值;您重构它是因为它与新设计不匹配。

我应该生成快速显示结果但将来容易出错的代码吗?还是应该延迟快速结果以生成更健壮的好代码?

对此,没有一般的答案。

如果必须快速获得可见的结果,以便将其显示给业务分析师并根据他的反馈快速迭代,那么您可以这样做。如果您这样做,请确保业务分析师(可能还有项目经理)理解其含义,即您正在做一个原型,即为了编写生产代码而丢弃的代码。

如果没有必要快速获得可见的结果,或者您知道与您一起工作的人不了解原型的含义,并且一旦看到任何结果,他们就会认为您的工作已经完成,根据从一开始就编写生产代码所需的时间给出一个估计。编写生产代码包括重构和测试:您的报酬不是用于类型代码,而是用于设计工作可靠的软件。

票数 15
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/363381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档