web-dev-qa-db-ja.com

PEP-8が最大行長を7​​9文字に指定しているのはなぜですか?

このミレニアムでPython PEP-8 で最大行長を7​​9文字に指定する必要があるのはなぜですか?

Sunのほとんどすべてのコードエディターは、長い行を処理できます。ラッピングをどうするかは、コンテンツ作成者の責任ではなく、コンテンツ消費者の選択である必要があります。

この時代に79人のキャラクターを守る正当な理由はありますか?

206
pcorcoran

PEP-8の価値の大部分は、重要でないフォーマット規則について議論する人々を止め、一貫したフォーマットの良いコードを書くことです。確かに、79が最適であると実際に考えている人はいませんが、99または119に変更したり、好みの行の長さを変更したりしても明らかな利得はありません。選択肢は次のとおりだと思います。ルールに従い、戦う価値のある原因を見つけるか、読みやすさと生産性が行の長さによってどのように変わるかを示すデータを提供します。後者は非常に興味深いものであり、私が思うに人々の心を変える可能性が高いでしょう。

106
user97370

コードを機械可読だけでなく人間が読める状態に保つ。多くのデバイスでは、一度に80文字しか表示できません。また、複数のウィンドウを並べて設定できるため、大画面のユーザーがマルチタスクを実行しやすくなります。

読みやすさも、行のインデントを強制する理由の1つです。

105
Justin Bozonier

私は毎日多くのコードを処理しなければならないプログラマーです。オープンソースと社内で開発されたもの。

プログラマーとして、一度に多くのソースファイルを開いておくと便利です。また、2つのソースファイルが並んでいるように(ワイドスクリーン)モニターでデスクトップを整理することがよくあります。私は両方でプログラミングをしているかもしれませんし、単に一方を読んでもう一方をプログラミングしているかもしれません。

それらのソースファイルの1つが120文字以上の幅である場合、画面の行にコードの行を快適に収めることができないことを意味するため、不満とイライラを感じます。行の折り返しに書式設定を混乱させます。

「120」と言うのは、それがコードの幅が広いことに悩まされるレベルだからです。その数の文字の後、コーディング標準は言うまでもなく、読みやすくするために行を分割する必要があります。

80列を念頭に置いてコードを記述します。これは、その境界を越えてリークが発生しても、それほど悪いことではないためです。

40
Jerub

タイポグラフィを勉強している人は、1行あたり66文字が長さの中で最も読みやすい幅だと思われると思うと思います。それでも、sshセッションを介してリモートでマシンをデバッグする必要がある場合、ほとんどの端末は80文字にデフォルト設定されており、79文字が適切に収まります。また、vim + screenを日々の環境として使用している開発者の数にも驚かれることでしょう。

36
Sean O Donnell

等幅フォントをデフォルトのサイズで印刷すると(A4用紙で)80列66行です。

19
Josh

80文字が好きな理由は次のとおりです。職場ではVimを使用し、1680x1040で動作するモニターで一度に2つのファイルを操作します(思い出せません)。行がこれ以上ある場合、Wordラップを使用している場合でも、ファイルの読み取りに問題があります。言うまでもなく、私は他の人のコードが長い行を好むので、それを扱うのが嫌いです。

7
Casey

Pythonでは空白にセマンティックな意味があるため、Wordの折り返しの一部の方法では、誤った結果やあいまいな結果が生じる可能性があるため、これらの状況を回避するにはある程度の制限が必要です。テレタイプを使用していたので、80文字の行の長さが標準であったため、79文字はかなり安全な選択のようです。

3
Chris Upchurch

ジャスティンに同意します。詳しく説明すると、人間がコードの行を長くしすぎると読みづらくなり、コンソールの幅が1行あたり80文字しか収まらない場合もあります。

スタイルの推奨事項は、記述したコードができるだけ多くのプラットフォームでできるだけ多くの人に、できるだけ快適に読み取られるようにするためのものです。

1
Readonly

80列目を超えてプッシュすると、非常に長く複雑なコード行を記述しすぎている(つまり、リファクタリングする必要がある)か、インデントしすぎている(リファクタリングする必要がある)ことを意味するためです。

0
Stefano Borini