gpt4 book ai didi

refactoring - 通过编译错误进行重构很糟糕吗?

转载 作者:行者123 更新时间:2023-12-04 02:26:53 25 4
gpt4 key购买 nike

我已经习惯于通过引入编译错误来进行一些重构。例如,如果我想从我的类中删除一个字段并使其成为某些方法的参数,我通常会先删除该字段,这会导致该类的编译错误。然后我会将参数引入我的方法,这会破坏调用者。等等。这通常给我一种安全感。我实际上还没有读过任何关于重构的书(还),但我曾经认为这是一种相对安全的方法。但我想知道,它真的安全吗?或者这是一种糟糕的做事方式?

最佳答案

这是静态编译语言的常用且有用的技术。你正在做的事情的一般版本可以说明如下:

When you are making a change to a module that could invalidate some uses in clients of that module, make the initial change in such a way as to cause a compile-time error.



有多种推论:
  • 如果方法、函数或过程的含义发生变化,而类型也没有变化,则更改名称。 (当您仔细检查并修复所有用途后,您可能会将名称改回。)
  • 如果向数据类型添加新大小写或向枚举添加新文字,请更改所有现有数据类型构造函数或枚举文字的名称。 (或者,如果您有幸拥有一个编译器来检查案例分析是否详尽无遗,那么还有更简单的方法。)
  • 如果您正在使用具有重载的语言,请不要只更改一个变体或添加一个新变体。您可能会以不同的方式静默重载解决方案。如果您使用重载,则很难让编译器按照您希望的方式为您工作。我所知道的处理重载的唯一方法是对所有用途进行全局推理。如果您的 IDE 不能帮助您,您必须更改所有重载变体的名称。不愉快。

  • 您真正要做的是使用编译器来帮助您检查代码中可能需要更改的所有位置。

    关于refactoring - 通过编译错误进行重构很糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404717/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com