ベストアンサー
Pythonプログラミングの静的分析を実行するためのツールは複数あります。
- Pylint→オープンソースツール
- Kiuwan→商用ツール
- Pyflakesなど。
PylintとKiuwanを使用しました。
Pylintは以下を見つけることができます:
- 行コードの長さのチェック、
- 変数名がコーディング標準に従って整形式であるかどうかのチェック
- インポートされたモジュールが使用されているかどうかの確認
- 宣言されたインターフェースが本当に実装されているかどうかの確認
- モジュールがインポートされているかどうかの確認
Kiuwan以下のルールセットをサポートできます:
- IPアドレスのハードコーディングを避ける
- 重複したコード
- デフォルトの可変パラメータの使用を避ける
- 使用を避けるexec()関数
- TrueまたはFalseへの割り当てを回避する
- 等価演算子を含む連鎖比較を回避する
- 複雑すぎる関数を回避する
- ファイルを開くusin gwithステートメント
- 非推奨のモジュールの使用を避ける
- \_init\_メソッドをジェネレーターにすることはできません
複数のツールをチェックすることをお勧めします。どのツールが要件に完全に適合するかを決定します。
回答
Vim内のコードチェックにpyflakesを使用しており、非常に便利です。しかし、それでも、コミット前のコードチェックにはpylintの方が適しています。コードチェックには2つのレベルが必要です。コミットできないエラーと、コードの臭いはあるがコミットできる警告です。 pylintを使用して、それや他の多くのことを構成できます。
pylintはうるさすぎると思うことがあります。それは、完全に問題ないと思うことについて不平を言うかもしれません。それについてよく考えてください。非常に頻繁に、数か月前に過度に保守的であるとわかった警告は、実際には非常に良いアドバイスであることがわかりました。
したがって、私の答えは、pylintは信頼性が高く、堅牢であり、はるかに優れたコードを認識していないということです。アナライザー。