4

2to3をきれいに通過するPythonコードを作成するための現在のルールは何ですか。また、バージョン2で永遠に混乱することのないコードを作成するのに最も適していると思われる方法は何ですか。

SciPy / NumPyフォーラムから、「100%テストカバレッジ」(単体テスト)が多くの人にとって重要であると読んだことがありますが、それがすべての人に当てはまるかどうかはわかりません。確かに、変換後にコードを試すための妥当な単体テストのセットを用意することは、正しいステップのようです。

他に何かありますか?2to3プロセスで「きれいに」実行されることを望んでいる2.xコードを記述している場合、熟練したPythonistaは何をしていますか。

「[しない]」の特定のインスタンスと、より一般的な「ベストプラクティス」を探していますが、「すべきこととすべきでないこと」の特定のインスタンスが役立ちます。

フレームワーク、ライブラリ(Django、SciPy / NumPy)、および必要な他のすべてのC拡張機能が最終的にPython3に移植されると仮定しましょう。私は、自分で作成した純粋なPython言語コードをどのように作成して維持するかについて質問しています。

更新:私が本当に望んでいるのは、「スタイルガイド」と、誰もがすでに避けていた非推奨の機能のリストである可能性があります。私はPython1.5に歯を食いしばって、2.0に移行しました。その後、2.5 / 2.6の時代の多くを実際にはフォローしておらず、それらを使用しましたが、実際には私のコードは2.1の時代です。

4

1 に答える 1

2

私は言うだろう:

  • Python3.0の新機能」をお読みください。非常に有益です。
    • 特に、Unicodeまたはテキストエンコーディングに関心がある場合は、時間をかけて3.xで何が変更されたかを理解してください。これはおそらく、Python3.xで変更するのが難しいことの1つです。
  • Python 2.6または2.7を入手し、-3フラグを付けてコードを実行します。コード内で変更が必要なことについて説明します。
  • サードパーティのパッケージを使用する前に、Python3.xバージョンがあるかどうかを確認してください。そうでない場合は、パッケージのWebサイト、メーリングリスト、バージョン管理リポジトリなどをチェックして、パッケージがどれほど積極的に開発されているか、Python3.xサポートへのロードマップがあるかどうかを確認してください。
  • Python 3.xをダウンロードして、試してみてください。確かに、Python 3.xをまだサポートしていないパッケージ(wxPythonやDjangoなど)に現在依存しているコードを気にする場合は、これは実用的ではない可能性があります。
于 2010-07-13T12:48:27.933 に答える