pyCharm:对依赖代码的应用程序的安全重构信息

时间:2014-09-29 09:39:56

标签: python refactoring pycharm

如果我在库中进行重构,pyCharm会处理当前运行的pyCharm实例已知的所有依赖应用程序。

但是当前pyCharm不知道的代码不会更新。

有没有办法将重构信息存储在版本控制中,以便在获取对新版本库的更新时可以更新依赖应用程序?

用例:

class Server:
    pass

重命名为

class ServerConnection:
    pass

如果团队成员更新了我的图书馆代码,则需要将Server的使用情况更改为ServerConnection

如果pyCharm(或其他工具)可以帮助我的队友自动更新他的代码,那将是非常好的。

1 个答案:

答案 0 :(得分:2)

据我所知,无论是使用香草PyCharm还是使用插件或使用第三方工具都无法做到这一点。

  1. official documentation
  2. 中未提及
  3. JetBrains Plugin Repositories
  4. 中没有此类插件
  5. 如果PyCharm将重构信息写入其内部日志,您可以自己构建(但是您真的想要吗?)
  6. 我也不知道有任何python特定的重构工具。您可以自己检查:还有另一个SO question for the most popular refactoring tools
  7. 但......

    我确信有理由说明你的情况是这样的 - 总是有很好的理由(而且大多数时候,这些条款已经成为历史和成长的解释原因)但我仍然觉得有必要指出他的评论中已经提到的qarma:你想要做一些事情,比如在不同的代码库上重放重构,指向一个应该在不同的问题中解决的问题方式。

    备选方案1:引入API

    如果你有不同的软件在如此深层次上相互依赖,那么定义一个API可能是一个好主意,它将代码库与其他内部组件分离。使用API​​,很明显哪些部分必须稳定。如果必须在API级别进行更改,则必须与相关团队进行沟通和协调。

    备选方案2:实际使用它:一个代码库

    如果无论出于何种原因A1都不可能,我会得出结论,你实际上有一个系统分布在不同的代码库上,然后那些应该合并到一个代码库中。不同的团队仍然可以使用相同的代码库(希望使用DVCS),但全局重构可以通过工具帮助完成,并且可以到达系统的所有部分。

    备选方案3:在PyCharm中对所有涉及的代码库进行重构

    即使您无法将它们合并到一个代码库中,您也可以通过loading different projects into the same Window在PyCharm中轻松地将它们合并。我这样做没有问题,两个git项目必须在不同的存储库但仍然共享某些方面。 PyCharm透明地处理对这些存储库的提交:如果您在多个存储库中进行更改并提交它们,则编写一个提交消息,并且将对所有存储库执行提交。