PEP8 情報:
models.py:10:80: E501 line too long (83 > 79 characters)
Models.py:
field = TreeForeignKey('self', null=True, blank=True, related_name='abcdefgh')
この行を正しく書く方法は?
それは「正しい」です.PEP8は79文字を超える行にフラグを立てるだけです. しかし、それが気になる場合は、次のように記述できます。
field = TreeForeignKey('self',
null=True,
blank=True,
related_name='abcdefgh')
またはこれ:
field = TreeForeignKey(
'self',
null=True,
blank=True,
related_name='abcdefgh',
)
または、実際には、単一の行を複数の短い行に分割する他のスタイル.
autopep8 という素晴らしいプログラムを見つけました。https://github.com/hhatto/autopep8
pip install autopep8
autopep8 -i models.py
(再帰的に)行うこともできます:
autopep8 -ri package/
Auto PEP8 は、コード ロジックではなくレイアウトのみを変更して、ファイルに安全な変更を加えるだけです。
バラバラに分割するのがあまり便利ではないばかげた長い文字列がある場合 (Sentry DSN、MIDDLEWARE または INSTALLED_APPS の時折のモジュールなどを考えてください)、# noqa
行末に置くだけでリンターは無視しますライン。あなたが求めた場合には絶対に使用しないでください。
これは非常に主観的です。E501に厳密に従っている場合は、次のように書きます。
field = TreeForeignKey('self',
null=True,
blank=True,
related_name='abcdefgh')
私は通常、80 ではなく 100 が長すぎると考えています。
私は通常、それを分割して、元の行よりも 1 レベル深いインデントのパラメーターを並べます。次のようにします。
field = TreeForeignKey('self', null=True,
blank=True, related_name='abcdefgh')
特にTreeForeignKey
が のようなものTreeForeignKeyWithReferencesToSomethingElse
である場合、すべてのパラメーターを左括弧で並べると、すべてのパラメーターがウィンドウの右端から開始されます。いずれかのパラメーターに のような長い名前が付けられている場合、すべてをdefaultvalueforcertaincircumstances
80 列未満に収めることができない場合があります。
field = TreeForeignKeyWithReferencesToSomethingElse('self',
defaultvalueforcertaincircumstances='foo')
また、複数の関数パラメーターを同じ行に配置することを好みます (正しく見えない場合を除きます。私は純粋主義者ではありません!)。私の編集者は、そうでなければ必要以上に。
autopep8
ファイルやプロジェクト全体の間隔の問題も解決できます。ドキュメントへのリンクは次のとおりです: https://github.com/hhatto/autopep8
pip install --upgrade autopep8
autopep8 --in-place --aggressive --aggressive <path_with_python_filename>
autopep8 --in-place --aggressive --aggressive C://a/test.py