ご挨拶、 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が多くの標準を満たす美しくきれいなコードを書くのに役立つことを願っています。