2011-07-01 68 views
4

我現在正在計劃主要包含遺留代碼的django項目的國際化。舊項目本身具有不同的應用程序,這些應用程序對彼此有很強的依賴性,因此很難將它們分開。看着剩下的時間,根本不可能。在新的本地化項目中處理傳統的django項目

的國際化的主要要求是:

  • 擁有獨立的項目爲每個國家
  • 每個國家以後有不同的模板
  • 每個國家將出臺,其他國家可能要使用的新功能以及
  • 舊的主代碼庫仍將保留,並且應該使用新功能/更改到國家項目

您是否有任何想法/設置來處理舊的代碼,並開始依賴舊代碼和新功能的新項目?我想就此開始討論。

+0

假設每個國家的辦公室都有自己的開發者,爲什麼不使用bitbucket,github,launchpad或類似協作? – Damian

+0

是的,每個國家都會有自己的開發團隊。我們已經在使用github了。所以現在的想法是爲每個國家創建一個分支。我不想先寫下我們自己的想法,不要影響其他人的想法:-)但是,如果他們對主要遺留項目進行了更改,分叉會導致無法互相代碼。 – NielsH

回答

1

首先將可能的組件解耦,然​​後將遺留代碼轉換爲(便攜式)應用程序(如果不是這種情況),並且遺留代碼不應位於主項目樹下。

任何新功能都應該記錄良好並且應用程序或通用庫本身解耦,即使它們覆蓋/交互/依賴甚至是monkeypatch遺留代碼。您希望大部分項目能夠在主項目之外生活,並且可以通過點對點安裝,就好像它們是第三方應用程序一樣。

主項目樹不應該比項目主項目模板,urls.py,settings.py,任何配置/部署模板和fabfile以及任何很少定製的核心應用程序都要多。

每一個本地化的自定義應該只是無論是「定製」應用程序本身,或小的調整,以主體工程(即應以可再生方式通過工廠進行,或者您選擇的任何提供商)

不用說,如果每個團隊都可以參與核心項目,那麼一個好的git/hg工作流程是必不可少的,並且使用一個具有良好測試套件的中央CI服務器。