擅长:python、mysql、java
<p>这是一个工作流程的问题,你的设计意图,也是一个主观的决定。在</p>
<p>首先,您是对的,您的IDE建议将方法转换为静态方法,因为该方法不使用实例。<strong>遵循这个建议很可能是个好主意,</strong>但您可能有一些理由忽略它。在</p>
<p><strong>忽略它的可能原因:</strong></p>
<ol>
<li>代码是<em>soon</em>要更改为使用实例(另一方面,<em>soon</em>的想法是主观的,所以要小心)</li>
<li>代码是遗留的,不能完全理解/知道</li>
<li>该接口以多态/鸭子类型的方式使用(例如,你有一个对象的集合,你想用一种统一的方式调用它们,但是这个类中的实现碰巧不需要使用实例——这有点代码味道)</li>
<li>接口是外部指定的,不能更改(这与前面的原因类似)</li>
<li>代码的AST是由它本身或使用它的东西读取/操作的,它希望这个方法是一个实例方法(这也是接口的外部依赖)</li>
</ol>
<p>我相信可以有更多的,但是如果没有这些原因,我会遵循这个建议。但是,如果方法不属于类(例如工厂方法或类似的方法),我会将它重构为不属于类的一部分。在</p>