4

编写将干净地通过2to3的 python 代码的当前规则是什么,以及似乎最适合编写不会在版本 2 中永远陷入困境的代码的实践是什么。

我从 SciPy/NumPy 论坛中读到“100% 测试覆盖率”(单元测试)对许多人来说很重要,但我不确定这是否适用于所有人。当然,在转换后有一套合理的单元测试来尝试你的代码,这似乎是一个理智的步骤。

还有其他事情吗?如果他们正在编写他们希望在 2to3 过程中“干净地”通过的 2.x 代码,那么熟练的 Pythonistas 会做什么。

我正在寻找“[不要] 这样做”的具体实例以及一些更一般的“最佳实践”,但“做与不做”的具体实例是有帮助的。

让我们假设框架、库(Django、SciPy/NumPy)和我们需要的所有其他 C 扩展最终都移植到 Python3,我在问你如何编写和维护你自己编写的纯 Python 语言代码。

更新:我真正想要的可能是“样式指南”和每个人都已经远离的弃用功能列表。我在 Python 1.5 上咬牙切齿并移至 2.0,然后并没有真正遵循 2.5/2.6 时代的大部分内容,使用它们,但实际上我的代码更像是 2.1 时代。

4

1 回答 1

2

我会说:

  • 阅读“ Python 3.0 的新特性”。信息量很大。
    • 特别是,如果您完全关心 Unicode 或文本编码,请花时间了解 3.x 的变化。对于 Python 3.x,这可能是要更改的更棘手的事情之一。
  • 获取 Python 2.6 或 2.7,并使用-3标志运行您的代码。它会告诉您代码中需要更改的内容。
  • 在使用 3rd-party 包之前,请检查它们是否具有 Python 3.x 版本。如果没有,请检查软件包网站、邮件列表、版本控制存储库等,了解软件包的开发活跃程度以及是否有支持 Python 3.x 的路线图。
  • 下载 Python 3.x 并尝试一下!诚然,如果您关心当前依赖于尚不支持 Python 3.x 的包(例如 wxPython 或 Django)的代码,这可能不切实际。
于 2010-07-13T12:48:27.933 回答