assertは、いくつかの条件をチェックして実行に失敗する簡単な方法を提供するため、開発者がそれを使用して妥当性をチェックすることは非常に一般的です。 ただし、Pythonインタープリターが-O(最適化)フラグを指定して呼び出されると、assertステートメントがバイトコードから削除されます。
ファイル:
mopidy/audio/utils.py
mopidy/core/actor.py
mopidy/core/playback.py
mopidy/core/tracklist.py
mopidy/ext.py
assertステートメントを使用しています。
私はこれを良い最初の問題としてマークしました。 当面の解決策は、以下から変更することです。
assert condition, "Error message"
に:
if not condition:
raise AssertionError("error message")
これにより、コードは現在とまったく同じように動作しますが、Pythonを-O
実行する場合は最適化されません。
@jodal 、私はこれを解決するべきですか、それとも他の初めての貢献者に解決させるべきですか?
さらに、もっと新鮮な人にそれを解決してもらいたいのなら、私はあなたからの提案が必要です。つまり、この問題を他のいくつかの問題に分割したらどうなるでしょうか。 私はファイルに従って問題を壊すことを意味します。
興味のある方はお気軽にどうぞ!
問題のインスタンスが非常に多い場合は、コードベースの領域ごとに複数のプルリクエストに分割するのが理にかなっています。 ただし、インスタンスはそれほど多くないようですので、1つのPRですべてのケースを修正することをお勧めします。
テストを除く、ファイルあたりのassert
のカウント:
$ rg -c assert mopidy
mopidy/ext.py:3
mopidy/core/actor.py:1
mopidy/core/tracklist.py:8
mopidy/audio/utils.py:1
mopidy/core/playback.py:1
ねえ@ pnijhara @ jodalこの問題に取り組みたい。 私が初めての寄稿者なので、これを割り当てていただけませんか。
https://docs.mopidy.com/en/latest/contributing/およびhttps://docs.mopidy.com/en/latest/devenv/に、開発環境のセットアップ方法とテストの実行方法に関する情報があります。リンターなど。
最も参考になるコメント
ねえ@ pnijhara @ jodalこの問題に取り組みたい。 私が初めての寄稿者なので、これを割り当てていただけませんか。