Javascript ESLintの max-statementsは、小さく、モジュール化された、読みやすい関数に対して非常に優れた実施を提供します。Python Flake8 lint で似たようなものを見つけたいと思っていましたが、今のところ運がありません。小さな機能を促進するために Flake8 を構成する方法はありますか?
1 に答える
3
@kindall のコメントを拡張するには、
Flake8 はステートメント チェッカーを提供しませんが、関数とメソッドの循環的複雑度を計算する 2 つの方法があります。
循環的複雑度は、ステートメントと分岐を使用して関数の複雑さを判断するため、JavaScript で見られるものよりもさらに単純な関数になる可能性があります。これは、ウィルやループif/elif/else
と同様に、構造が複雑になるためです。for
while
「組み込み」の循環的複雑度の適用を有効にするには、 を使用できます--max-complexity
。ただし、mccabe
プロジェクトには代替案があります。たとえば、pip install radon
独自の循環的複雑度チェックを Flake8 に追加すると、Flake8 の実行時に実行されます。
于 2016-12-04T17:22:39.013 に答える