pythonはどうやってコードチェックを実現しますか?


前言
一般的に私たちのpythonコードはPEP 8の標準化されたフォーマットに従うものであり、目的はコードの整合性、読み取り可能性を維持するためである。ここでは一般的な静的コードチェックツールをいくつか紹介します。みんなで適当に使うことができます。
1.pyle int
PylointはPython静的コード解析ツールであり、プログラミングエラーを検索して、コードの異臭を強制的に実行し、簡単な再構成提案を提供する。
コード中のエラーと警告を制御するための特別なコンパイル指示と、広範な構成ファイルの高度な構成可能性があります。自分のプラグインを作成して、自分のチェックを追加したり、何らかの形でpyleを拡張したりすることもできます。
デフォルトの場合、PyLintは多くの規則を使用します。コード内部処理プログラムから高度な構成性を持っています。また、作成プラグインを自分のチェックに追加することも可能です。
インストール

pip install pylint
#       Python 3.6+,                :
pip install pylint --upgrade
#          ,    tarball       
python setup.py install
文書
Pyintには以下の付加命令があります。
  • pyreverse:UML図生成器
  • smiar:独立した類似性検査器
  • epyle int:EmacsとFlymake互換Pyle
  • 使用
     pylointの各種引用および使用方法は文書で検索できます。ここでは比較的基本的に簡単な例を紹介します。
    
    pylint [options] modules_or_packages
    コマンドラインのオプション
    パラメータ
    意味
    --version
    プログラムのバージョン番号を表示して終了します。
    -h,--help
    コマンドラインのオプションに関するヘルプを表示します。
    --ignore=ブラックリストにファイルまたはディレクトリを追加します。パスではなく基本的な名前であるべきです。
    --output-format=
    出力フォーマット(テキスト、Json、カスタマイズ)を選択します。
    --list-msgs
    pyintのメッセージを生成します。
    エラーコードの意味
  • C:慣例として、符号化スタイル基準に違反しました。
  • R:再構成、コードが非常に悪い
  • W:警告、いくつかのPython特定の問題
  • E:エラー、おそらくコードのエラー
  • です。
  • F:致命的なエラー、Pyleのさらなる実行を阻止するエラー
  • もっと多くのpyint関連は文書を参照してください。
    2.yapf:
    Pythonのほとんどの現在のフォーマットプログラム-例えば、aut pep 8とpep 8 ify---コードからlintエラーを削除します。これはいくつかの明確な限界がある。例えば、PEP 8ガイドに適合するコードは再フォーマットできないかもしれない。しかし、これはコードが良く見えるという意味ではない。
    YAPFは異なる方法を採用しています。それはDaniel Jasperによって開発された「clang-format」に基づいています。本質的には、アルゴリズムはコードを取得し、スタイルガイドに適合する最適なフォーマットに再フォーマットします。元のコードがスタイルガイドに違反していなくても。この考えはGoプログラミング言語の「gofmt」ツールにも似ています。フォーマットに関するすべての神聖な戦争を終わります。
    プロジェクト全体のコードライブラリがYAPFで修正されただけであれば、スタイルはプロジェクト全体で一致しており、コード審査ごとにスタイルを議論する必要はありません。
    最終目標はYAPFで生成されたコードとプログラマーがスタイルガイドを遵守する時に作成したコードと同じでいいです。それはコードを維持するいくつかの苦い仕事を取り除いた。
    インストール
    
    pip install yapf
    使用
    
    yapf [-h] [-v] [-d | -i] [-r | -l START-END] [-e PATTERN]
    [--style STYLE] [--style-help] [--no-local-style] [-p]
    [-vv]
    [files [files ...]]
    同じように、直接にファイルと操作することもできます。
    パラメータ
    パラメータの説明
    -h,--help
    このヘルプメッセージを表示して終了します。
    -v,--version
    バージョン番号を表示して終了します。
    -d,--diff
    比較の違い
    -i,--in-place
    ファイルを変更します。
    -r,--recursive
    ディレクトリを再帰的に実行
    
    #      (      )
    yapf <python file>
    #       
    yapf -d <python file>
    #       
    yapf -i <python file>
    #      
    yapf --style-help > style.cfg
    #         ,  futures    
    yapf -pi *.py
    より多くのyapf関連はyapfを参照することができます。
    他にもPyflaakes、flake 8など、この二つのよく使われているものがあります。もっと多くの内容はプロジェクトの実戦においてもっと多くの接触があるはずです。
    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。