9

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

Limit all lines to a maximum of 79 characters.

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

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

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

4

9 に答える 9

11

PEP 8:

しかし、最も重要なことは、いつ矛盾するかを知ることです。スタイル ガイドが適用されない場合もあります。疑わしい場合は、最善の判断を下してください。

于 2010-10-25T09:43:23.713 に答える
10

コードを読むのはあなただけですか?

プログラミングに使用する言語に関係なく、コード行の長さを抑えることをお勧めします。通常、行が長くなる原因には次の 2 種類があります。

  1. 深くネストされたコード: このタイプのコードは、特に 2 レベル以上のネストがある場合、理解するのが困難です。コードを読むときにelse句を見落としたり、長い関数を読むときにどのelseが何を意味するかを忘れたりする傾向があります。読みやすくするために、いくつかの関数でコードを分割してみてください。

  2. 複雑な式: オブジェクトからオブジェクトからオブジェクトからオブジェクトの値にアクセスする場合など... または、10 か所の異なる場所から複数の値に対して単一の操作を実行する必要があり、すべての関数呼び出しと演算子を 1 行にマージする場合. 一時変数を使用してロジックを把握しやすい小さなセグメントに分割すると、可読性が大幅に向上します。これも調べる必要があります。

そうは言っても、PEP は単なるガイドラインです。そうすることが正当であると感じたら、遠慮なくそれを壊してください。ほとんどの場合、それを壊す場合は、コードの書き方を再考する必要があります。

于 2010-10-25T07:27:14.673 に答える
4

80 文字を超えるテキストを読むのは難しいと思います。私の目は、左マージンに戻るときに行を見失う傾向があります。したがって、ある意味では、端末 (または cmd ウィンドウまたは xterm) でコードを表示する必要があることによる制限ではありませんが、読みやすさの義務です。ときどき 1 つか 2 つの文字でルールを破っていることに気付きますが、全体的には気にしません。また、リスト内の暗黙の継続を利用しているため、\ 継続文字を使用する必要はほとんどありません。

于 2010-10-25T07:13:53.320 に答える
4

80 文字の制限行を表示するようにエディターを設定し、一時停止の標識ではなく、警告として使用しています。制限に達する前に次の行にきちんと行を続けることができれば、そうします。ただ、続きを入れると読みづらかったり、ややこしくなったりしたら、長文です。ガイドのためだけにコードを読みにくくするつもりはありません。

于 2010-10-25T13:58:59.327 に答える
3

ありえない。

✔ 私の主張:

  • 80 文字を超えるものは、重要度の低いロジックの一部です。(必要に応じて、右にスクロールできます)
  • このルールを適用すると、重要でないコードが目の前に散らかってしまいます
  • 時々水平にスクロールするよりも、常に垂直に長い距離をスクロールする必要があります
  • 最近のほとんどのエディターには、任意の長さの制限 (80 だけでなく) に対してこれを自動化するソフトラップ機能があります。
  • 現代のエディターのソフトラップは、キーストロークですぐに使用できます。つまり、行をそのままにしておくと、両方の世界を最大限に活用できるということです。

ライナス・トーバルズの主張:

  • grepまたは「ファイル内を検索」は失敗し、意図しない場所で文字列が切断されます。

  • 横80文字制限より縦制限(VT100端末)の方が辛い

✔ 評決:

It's like try-
ing to read
a news arti-
cle written
like this.
于 2015-07-28T07:35:26.963 に答える
2

それがあなたのコードベースであれば、何でもできます。それが他人のものなら、その人のルールに従わなければなりません。たとえば、Google には 2 文字のインデントがありますが、PEP 8 では 4 つのスペースを使用するように指示されています。昼は 2 スペース、夜は 4 スペースのプログラミングに関する Guido からの引用だと思います。

コードのフレームを並べて配置できるので、ワイドスクリーン モニターでも文字制限が好きです。

コード スタイルは、実際には個人的な好みの問題です。重要な部分は一貫性です。とにかく、あなたを幸せにするPythonコードを書いてください。

于 2010-10-25T07:18:40.867 に答える
1

ワイドモニターで水平にスクロールする必要がない限り(私はそれを見たからです)。

于 2010-10-25T07:22:31.430 に答える
0

PEP8 は人間向けです が、それに従わなくてもプログラムは実行されます。

コードを共有せず、共有する予定もない場合は、好きなことをしてください。

いつかコードの一部を共有する予定がある場合は、PEP8 に従う必要があります。つまり、数行が 85 文字であっても、おそらく誰も気にしないでしょう。しかし、一貫して 200 文字を超えるコードは読みにくくなります。新聞を読んだことがあれば、テキストが列を使用してフォーマットされている場合にも同じ問題が発生します。

行の長さの問題に対する解決策は、おそらく、継続文字を使用した任意の改行でも、一部の式を括弧で囲むことによる暗黙的な行継続の使用でもありません。おそらく、中間変数と関数を導入して、79 文字未満で論理的に壊れるコードを作成するためです。

ちなみに、さらに厳しい制限に固執することもできます。80 文字のテキスト メール内に 1 つまたは 2 つの追加の引用レベルを許可できるため、72 文字を好みます。そうしないと、識別は最初の引用符で壊れます。

于 2010-10-25T07:32:39.257 に答える
0

すべてのスタイル ガイドと同様に、それはただのガイドです。それに従うかどうかはあなた次第です。主な目的は一貫性です。

とはいえ、次の理由から、80 文字までの制限を採用することをお勧めします。

  1. 複雑なコードを読みやすくします。
  2. 共同プロジェクトに取り組むときのために、今すぐ習慣を身につけてください。
  3. それはプロ意識を示しています。
于 2010-10-25T07:36:06.847 に答える