Yapf-Pythonコードとオートコレクターの組み合わせ

さまざまなjsおよびcss linter'ovの人気が高まる時代に、Pythonの自動修正機能を備えた便利なゴミが出現したことは驚くことではありません。



ご挨拶、 Yapfはお stringsを文字列から完全に読み取り可能なコードに変換するための既製のソリューションです。 そして私を信じて、それは重宝します。



画像



最新のPythonリンター(autopep8やpep8ifyなど)は、コードエラーを削除するために作られています。 これにはいくつかの明らかな制限があります。 たとえば、PEP8に準拠するコードは再フォーマットできません。 しかし、これはコードの見栄えが良いという意味ではありません。



YAPFは異なるアプローチを取ります。 Daniel Jasperが開発した「clang-format」に基づいています 。 基本的に、アルゴリズムはコードを取得し、ソースコードがスタイルマニュアルに違反していない場合でも、マニュアルのスタイルに一致する形式に再フォーマットします。 アイデアはGoプログラミング言語のgofmtツールにも似ています:フォーマットに関するすべての聖戦の終わり-変更が行われるたびにプロジェクトのコードベース全体が単純にYAPFを介してポンプされる場合、スタイルはプロジェクト全体で一貫性を保ち、各レビューでスタイルについて議論する意味はありませんコード。



最終目標は、YAPFを使用したpython cコードと、スタイルガイドに従えばプログラマーが記述できるコードを記述することです。 これにより、コードを維持する面倒な作業がなくなります。



そして今、実用的な部分のために:



YAPFは、コマンドラインから、またはテキストエディターのプラグインとして使用できます。 現在、Emacs、VIM、Sublime Text用のプラグインがあります。



私は主にSublime Textを使用していますので、YAPFを使用するように設定する方法を紹介します。

Sublime Textプラグイン-github.com/jason-kane/PyYapf



1.インストール。



pip install yapf
      
      





こちらの手順に従ってSublime Package Controlをインストールします(まだ行っていない場合)。



Ctrl-Shift-P(Mac:Cmd-Shift-P)および「パッケージ管理:パッケージのインストール」を選択します。



リストで「PyYapf Python Formatter」を見つけます。



2.セットアップ。



インストール後、設定メニューにPyYapfが表示されます。



画像



動作させるには、Yapfファイルがある場所を示す必要があります(私の場合は、Pythonフォルダーにありました)



PyYapf設定を開きます-設定のデフォルト、それらをコピーします。 次に、PyYapf-Settings Userを開き、コピーしたルールを貼り付けて、Yapfファイルへのパスを指定します。



画像



その後、すでにYAPFを使用してコードをフォーマットできます。 Ctrl-Alt-Fを押すと、コードが変換されます。 デフォルト設定はPEP8です。



前後の例。



画像



多くのルールを設定できます。 YAPFでは、さまざまなパラメーターを柔軟に設定できます。詳細はこちら-https ://github.com/google/yapf#id8



YAPFが多くの標準を満たす美しくきれいなコードを書くのに役立つことを願っています。



All Articles