编写将通过
2to3干净地传递的python代码的当前规则是什么?哪些实践看起来最适合编写不会在版本2中永远陷入困境的代码.
我从SciPy / NumPy论坛上读到,“100%测试覆盖率”(单元测试)对很多人来说很重要,我不确定这是否适用于所有人.当然有一套合理的单元测试可以在转换后尝试使用代码,这似乎是一个明智的步骤.
还有别的吗?如果他们正在编写他们希望在2to3过程中“干净地”完成的2.x代码,那么熟练的Pythonist会做什么.
我正在寻找“[不]做这个”的具体实例以及一些更一般的“最佳实践”,但“做与不做”的具体实例是有帮助的.
让我们假设我们需要的框架,库(Django,SciPy / NumPy)和其他所有C扩展最终都被移植到Python3,我问你如何编写和维护你自己编写的纯python语言代码.
更新:我真正想要的可能是“风格指南”以及每个人都已经远离的已弃用功能列表.我在Python 1.5上切了一下,然后移到2.0,然后没有真正关注2.5 / 2.6时代的大部分时间,使用它们但是我的代码真的是2.1时代.
最佳答案 我会说:
>阅读“What’s new for Python 3.0”.非常翔实.
>特别是,如果您完全关心Unicode或文本编码,请花时间了解3.x的更改内容.这可能是Python 3.x更改的棘手问题之一.
>获取Python 2.6或2.7,并使用-3标志运行代码.它会告诉您代码中需要更改的内容.
>在使用第三方软件包之前,请检查它们是否具有Python 3.x版本.如果没有,请检查软件包网站,邮件列表,版本控制存储库等,以了解软件包的开发积极程度以及是否存在支持Python 3.x的路线图.
>下载Python 3.x并试用它!不可否认,如果您关心当前依赖于尚未支持Python 3.x的软件包(例如wxPython或Django)的代码,那么这可能不实用.