問題タブ [pep8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
12059 参照

python - 非常に長いコード行をどのように記述すればよいですか?

コードの行が非常に長い場合、次の行にそれを続けることは可能ですか?

0 投票する
6 に答える
3312 参照

python - PEP8とPyQt、機能の資本化を調整する方法は?

私はいくつかのプロジェクトでPyQtを使い始めており、文体のジレンマに直面しています。PyQtの関数はキャメルケースを使用しますが、私が従うことを好むPEP8は、関数名にアンダースコアとすべて小文字を使用するように言っています。

したがって、一方では、PEP8を引き続き実行できます。つまり、コードにはキャメルケースとアンダースコア関数への混合関数呼び出しがあり、mousePressEventのような関数をオーバーロードする必要があるため、クラスにも混合関数名があります。 。または、PEP8を破って、一貫性の名前ですべての関数名にキャメルケースを採用することもできます。

これは主観的なものであり、私が個人的に好むものですが、他の人から、彼らが何をしているのか、なぜそのように選んだのかについて聞きたいと思います。

0 投票する
3 に答える
1375 参照

python - PEP 8 ルールの現状は?

すべての PEP 8 ルールはまだ有効ですか?

廃止されたものはありますか?

これよりも説明的なチートシートはありません

0 投票する
14 に答える
20989 参照

python - どの PEP 8 ガイドラインを無視し、どのガイドラインに固執しますか?

何年にもわたって Python を書けば書くほど、ほとんどのガイドラインに同意するようになりましたが、私自身の理由で一貫して意図的に一部を破っています。

私は、PEP 8 (あるいは他の PEP もそうかもしれません) で、人々が宗教的に固執するものとその理由、そして人々が不便または不十分だと思うものを知りたいと思っています。

私の場合 (そして一般的に職場で)、逸脱しているものはほんの一握りです。

  • アンダースコアで区切られた小文字の名前は、間違いなく一貫しているため、その要点は理解できますが、時折いくつかの不一致が発生する場合でも、lowerCamelCase を使用する傾向があります (部分的または誤った大文字の頭字語や次の単語など)。多くの場合、その場しのぎの呼び出しまで)。ほとんどの場合、私たちが日常的に使用するほぼすべての API がキャメルケース (一部は上位、一部は下位) を使用しており、何らかの理由で読みやすく、アンダースコアを分離トークンまたは規定のマングリング/不明瞭化として予約する傾向があるためです。

  • 私はまだ、PEP がオブジェクトの内部で規定している方法で物事を配置することができません。new と init クラスの同じ範囲の機能に貢献するメソッド (init、get、set など) をクラス名と引数と共にすぐに読みたいので、空白行を入れずにクラスのすぐ下に残す傾向があります。同じ属性または一連の属性の)私は単一のスペースだけ離れており、クラス間の3つのスペースとメソッド間の2つのスペースが好きで、そのオブジェクトのマップに精神的に集約しません。これも、純粋にコードの視覚的な影響と読みやすさのためです。フロー制御内の非常にコンパクトなコンテンツと、メソッドとオブジェクト間のこの種の間隔により、コードが保留されてから数か月後に再読み取りすると、一貫して目的の場所に正確に目を向けることができます。

  • 代わりに、別の方法で書かれたものを読むと頭がおかしくなるのは、スペースではなくタブです(特に、使用するアプリ内エディターの一部にタブ置換機能が実際にはなく、コードベースの汚染に大きく貢献している場合)試作段階)。

  • インポートなどの順序、インポート内容、グローバルなど。インポートが大量にあるファイルが混同されていたり、順序が間違っていたりすると、本当に気が遠くなります。

  • ステートメント内の空白、特に人々がタブを使用し、変数名の長さが異なる行にまたがって代入操作を整列させようとする場合 (そして、Excel のように見えるコードがきちんとしていないことをそれを行う人に納得させる方法はないようです ;) ) .

  • また、制御ブロック内の間隔、特に同じフロー制御ブロック内で明らかにランダムな間隔が表示され、メソッドのオブジェクト内で同様の量の間隔が使用されていることがわかります。いまいましいものを読み始める前に、それらを編集せざるを得ません。

つまり、これらは私のものであり、私の PEP の「違反」の背後にある理由です (共有されたものもあれば、同僚に眉をひそめられたものもあります)。他のPythonistasがそれらの点で何をして何をしていないかを読むことに非常に興味があります.

0 投票する
9 に答える
4775 参照

python - PEP 8 に従わず、行を 79 文字でカットするのは悪いことですか?

すべての Python コードがPEP 8を見たことがあると思います。私に突き出ている部分は次のとおりです。

私はワイドスクリーン モニターの前に座って、画面を横切ってコーディングしています。私は端末でコーディングしておらず、端末でコーディングする予定もありません。したがって、文字行の制限に問題はありません。

この制限を実際に守っている人は何人ですか?80文字制限の端末でコーディングしていない場合でも、それに従いますか? 従わないのは悪いことですか?

この制限が Python の「スタイル ガイド」から外れているのが嫌いです >.<

0 投票する
2 に答える
3525 参照

python - コメントとドキュメント文字列で短いテキスト幅を使用する

強力なPEP 8から:

[お願い]すべての行を最大 79 文字に制限してください。テキストの長いブロック (docstring またはコメント) を流す場合は、長さを 72 文字に制限することをお勧めします。

Vim で Python コードを編集するとき、mytextwidthを 79 に設定すると、文字制限に達すると、Vim が Python コードの長い行を自動的にラップします。しかし、コメントとドキュメントストリングでは、テキストを 72 文字で折り返す必要があります。

textwidthコメントまたはドキュメント文字列にいるときにVim を自動的に 72 に設定し、終了したら元に戻す方法はありますか?

0 投票する
6 に答える
10281 参照

python - ブール値を True または False と比較する際の奇妙な PEP8 の推奨事項

Python PEP 8の終わりに、私は読んでいます:

  • を使用してブール値を True または False と比較しないでください。==

ブール値が の場合、その推奨事項に問題はありませんがTrue、 をチェックすると奇妙に聞こえFalseます。

変数の挨拶が False かどうかを知りたい場合、次のように記述しないのはなぜですか?

私が書くif not greeting:と、上記のステートメントとは非常に異なる意味になります。挨拶がなしの場合は?空の文字列の場合はどうなりますか? この PEP 8 の推奨事項は、ブール値を格納する変数に True または False のみを含める必要があり、これらの変数に対して None を避ける必要があることを意味しますか?

私の目には、静的型付けを使用する他の言語からの推奨事項のように見えますが、少なくとも False と比較すると、Python にはうまく適合しません。

ところで、なぜ がif greeting is True:よりも悪いと説明されているのif greeting == True:ですか? if greeting is False:それもそれよりも悪いことも理解する必要がありif greeting == False:ますか?

0 投票する
8 に答える
45995 参照

python - Pythonで連鎖メソッドの行を壊す方法は?

私は次のコードの行を持っています(命名規則のせいにしないでください、それらは私のものではありません):

私はそれがどのように見えるか(あまり読みにくい)が好きではありませんが、この状況で行を79文字に制限するより良い考えはありません。それを壊すより良い方法はありますか(できればバックスラッシュなしで)?

0 投票する
2 に答える
1321 参照

python - PyFlakesを使用してVimエラーリストを永続的にする方法は?

コードがPEP8(Pythonコードのスタイルガイド)に準拠していることを確認して修正するために、makeprgとしてpep8を使用したいと思います。

コマンドを使用しましたが:set makeprg=pep8\ --repeat\ %:makeそれが機能すると、エラーリストが表示され、を使用:cn:cp:copen、QuickFixウィンドウでエラーリストをナビゲートして表示できます。

しかし、Pythonソースファイルで何かを変更するとすぐにエラーリストが空になり、QuickFixウィンドウの内容が失われ、リストをナビゲートできなくなります。

これは、Pythonエラーをオンザフライで強調表示するVim拡張機能であるPyFlakesが原因であると思われます。

どうすれば修正できますか?

0 投票する
3 に答える
870 参照

python - Python コア ライブラリと PEP8

Python が美しい言語と言われる理由を理解しようとしていました。私は PEP 8 の美しさに導かれました...そしてそれは奇妙でした。実際、一貫性を保つだけで、好きな規則を使用できると書かれています...そして突然、コアライブラリに奇妙なものがいくつか見つかりました。

以下の関数は Python 3.1 で新しく追加されました。ここで使用されている PEP 8 規則のどの部分が使用されていますか?

私の質問は、コア ライブラリで PEP 8 が使用されているかどうかです。なぜそうなのですか?
名前の書き方はいろいろあるので、関数の名前を覚えられない PHP と同じような状況はありますか?

なぜPEP 8は新しい関数に対してもコアライブラリで使用されないのですか?