2009-05-27 62 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