我现在正处于计划主要包含遗留代码的django项目国际化的情况。旧项目本身具有不同的应用程序,它们之间具有很强的依赖性,因此很难将它们分开。看着剩下的时间,根本不可能。
国际化的主要要求是:
您是否有任何想法/设置来处理旧代码并启动与旧代码和新功能相关的新项目?我想开始讨论这个问题。
答案 0 :(得分:1)
首先在可能的情况下解耦组件,然后将遗留代码转换为(便携式)应用程序(如果不是这种情况),遗留代码不应位于主项目树下。
任何新功能都应该有很好的文档和解耦的应用程序或通用库本身,即使它们覆盖/交互/依赖甚至monkeypatch旧代码。您希望项目的大部分内容都位于主项目之外,并且可以通过pip进行安装,就好像它们是第三方应用程序一样。
主项目树应该不仅仅是项目主项目模板,urls.py,settings.py,任何配置/部署模板和fabfile,以及很少定制的任何核心应用程序。
每个本地化的自定义应该只是“自定义”应用程序本身,或者是对主项目的小调整(应该通过fab或您选择的任何提供商以可重现的方式进行)
毋庸置疑,如果每个团队都可以提交核心项目,那么一个好的git / hg工作流程是必不可少的,并且使用具有良好测试套件的中央CI服务器。