2009-05-27 83 views
4

我正在將工作中的遺留代碼庫從python 2.4遷移到python 2.6。這是作爲刪除'遺留'標籤的一部分而完成的,併爲積極開發創建可維護,可擴展的基礎,所以我有機會「做正確的事情」,包括重構使用新的2.6功能,如果導致更清潔,更健壯的代碼。 (我已經對'with'聲明感到欣喜:))。任何有關遷移的好建議?最佳實踐,設計模式等?我主要是一個紅寶石程序員;我學習了一些python 2.4,但是使用這段代碼卻對現代python設計原則一無所知,所以隨意提出一些你可能認爲很明顯的東西。從python 2.4遷移到python 2.6

回答

5

閱讀Python 3.0的更改。 2.6的目標是瞄準3.0。

從2.4到2.6你獲得了很多東西。這些是最重要的。我正在製作這個答案社區wiki,以便其他人可以編輯它。

  1. 生成器函數和yield語句。

  2. 更一致地使用各種類型,如listdict - 它們可以直接擴展。

  3. from __future__ import with_statement

  4. from __future__ import print_function

  5. 例外的是新式類,而且有更加一致的異常處理。字符串例外已被刪除。試圖使用它們引發TypeError

2

我想你已經發現了他們,但參考和他人,這裏是新功能的列表在這兩個版本:

從採摘

除了來自這些文檔的功能,我建議使用機會(如果需要)使代碼符合PEP 8中的標準Python代碼風格。

有一些自動化的工具,可以幫助你得到Python的風格權:pep8.py實現了PEP 8個檢查和pylint給出了一個更大的報告,其中還包括像不確定的變量,未使用進口等pyflakes是一個更小,更快的東西pylint的。

+0

謝謝:)是的,我已經瀏覽了新的功能列表,但沒有一點經驗,我無法真正瞭解它們是如何轉化爲一觸即發的功能,降壓。我正在從使用2.4和2.6的人那裏尋找技巧,並發現哪些功能在其代碼中發揮了重大作用。 – 2009-05-27 11:24:30