在错误数据库中跟踪重构

5
假设你在一个每次更改源代码都必须与错误报告或功能请求相关联的工作环境中,并且没有办法改变这个政策。在这种情况下,如何处理代码重构(即改进代码但不修复错误或添加功能的更改)是最好的方法?
  • 编写错误报告并将重构与之关联。
  • 编写功能请求并将重构与之关联。
  • 在处理与错误报告/功能请求相关联的代码时,偷偷进行重构。
  • 不要进行任何重构。
  • 其他
请注意,所有错误报告和功能描述都将对经理和客户可见。
5个回答

7

我支持“潜入重构”的方法,这应该是重构的最初目的。仅仅为了“清理代码”而进行重构可能是一个不好的想法。这意味着你在没有真正原因的情况下进行更改。重构的定义是修改代码但不打算修复错误或添加功能。如果你遵循KISS原则,任何新功能都将需要至少一些重构,因为第一次你并没有真正考虑如何使系统尽可能具有可扩展性。


好的。使用行为驱动开发,您编写一个新的测试用例来测试行为并观察其失败,然后更改代码以使所有测试用例都通过,接着在您工作的地方重构代码。然后提交,并(在您的情况下)将更改文件与行为更改请求一起提交。这样,您可以在工作时重构代码。 - bignose

2
我们的工作方式是这样的:必须有一个好的理由来重构代码,否则为什么要这样做呢?
如果原因是为了让另一个功能使用相同的代码,则将更改与其他功能的请求相关联。
如果是为了使某些东西更快,请创建一个更快“xyz”的功能请求,并将更改与之相关联-然后客户就会看到您正在改进产品。
如果是为了设计出一个错误,请记录该错误。
值得注意的是,在我的环境中,政策无法强制执行。但聪明的经理可以获得更改报告,如果提交文本中没有错误\请求参考,则会跟进。

2

如果你正在处理一段代码块,大多数情况下是因为有一个需要更改该代码块的错误修复或新功能,并且重构是在更改之前为了使其更容易进行,或者在更改后整理结果。无论哪种情况,你都可以将重构与该错误修复或功能关联起来。


0

让我们来看看每个选项:

  • 撰写错误报告并将重构与其关联。

如果您认为原始代码存在安全风险或可能导致崩溃或不稳定,请编写一个简短的错误报告,概述风险,然后修复它。

  • 撰写功能请求并将重构与其关联。

基于功能请求重新设计代码可能更难。但是,您可以使用有效的功能请求来完成此操作,这将引导我进入下一个要点......

  • 在处理与错误报告/功能请求相关的代码时,偷偷进行重构。

如果存在有效的错误或功能,请声明必须略微更改函数x以修复错误或添加功能。

  • 根本不进行重构。

这似乎表明通过改进应用程序来进行自我发展是不允许的。开发人员应该被允许,如果不是的话,就鼓励探索新技术和技术。

  • 其他

也许您可以在相关会议上讨论您的改进,并给出令人信服的理由说明为什么应该进行更改。那么至少您将获得管理支持,而无需通过其他方法偷偷添加代码。


0
  • 其他

如果你在一个有这种不灵活(而且荒谬)政策的地方工作,最好的解决办法是找另一份工作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接