web-dev-qa-db-ja.com

行の長さの「ソフト制限」とは何ですか。PSR-2規則でこれをどのように解釈しますか?

私はphpのこの部分を理解していません PSR-2 規則:

行の長さのソフト制限は120文字でなければなりません。自動スタイルチェッカー[〜#〜] must [〜#〜]警告しますがMUST NOTソフトリミットでのエラー。

は80文字より長くすべきではありません。それより長い行[〜#〜]は[〜#〜]を、それぞれ80文字以内の複数の後続行に分割する必要があります。

「ソフト制限」とは「この制限を守ろうとするが、数文字余分に問題ない」という意味だと思いました。しかし、それから私は2行目を読みました、そして今私はそれを理解しません。

39
ChocoDeveloper

それはとても簡単です:

  • 0-80:常に大丈夫
  • 80-120:許容可能(正当な理由がある場合、たとえば、文字列を折り返すのが醜い場合)
  • 120+:Lintツール、IDEなどは、行が醜い/判読できない/ ...である可能性があるため、警告を表示する必要があります(ただし、エラーは発生しません!)。
49
ThiefMaster

PSR-2にはハードリミットはありません。

MUST(NOT)は、プログラマーとしてのあなたではなく、自動化されたスタイルチェッカーを指します。

また、no errorは、ソフト制限を超えたときに発行する必要があります。

上記の答えに何かを追加させてください

エディターのセットアップ

私はイチジクの基準も読んでいましたが、同じ質問に出くわしました。

私のIDE設定(PhpStorm))を詳しく調べた後、一般的な「コードスタイル」ページの下に小さなメモが見つかりました。そのメモはphpコードセクションには表示されません。 。

メモレポート:

「1つのガイド(80)または複数のガイド(80、120)を指定してください」

これにより、PSRルールのより良い解釈が可能になりました。これは私が今このように読んでいます:

「より長い行を書くべきではありません 80 文字ですが、必要に応じてできます。 80文字を超える場合は、いずれの場合も、それより長い行は避けてください。 120 文字」。

2つの垂直定規がある場合、これは完全に可能です。 80、120 そして、最初の制限を超えたとき(警告)と、2番目の制限を超えたとき(停止!)がわかります。

自動コードフォーマットを使用する場合(私はそうです、そして人々 私を嫌っている)、次にphpコードスタイルページに設定できます ハードラップ:120。この設定により、PSRルールに従っていることが保証されます。

個人的な考え

正直なところ、最近はたくさんのモニターがあります ワイド 古いものよりも、4:3ではなく16:9のアスペクト比を使用しているためです。したがって、16:9モニターは1行に200文字を超える文字を簡単に処理できるため、120文字のルールに従う緊急性はわかりません(画面に224文字を印刷しました)。

とにかく、 ルールを破るという考えは好きではありません、可能であれば、コーディング標準について話すときは、それらに従うようにしています。ルールのポイントがわからないかもしれませんが、そのトピックについて話し合ったチーム全体が120文字に制限を設定することにした場合、その決定の背後に私が見ることができない理由があるかもしれません。それに固執する。それが私にとってのスタンダードのポイントです。

120が良い妥協点である理由

実際、ここ数週間、エディターのウィンドウを垂直方向に分割し始め、左側にいくつかのファイルタイプを残し、右側に他のタイプ(通常はJavaScript)を残しました。それは最初は少し奇妙かもしれません、私はずれたものに非常に邪魔されているような人です。しかし、今ではそれに慣れています。実際には、そのように機能するからです。

私たちの視力が一定量より長い線にうまく追いついていないことをどこかで読んだことがありますが、その理由は簡単に理解できます。 200行より長い行のドキュメントを読んでみてください。フォーカスが失われやすくなります。おそらく、あなたは何度もポイントを失い、行全体をもう一度読むでしょう...それがどこから始まるかを見つけることができれば!

PhpStormで発見したことを言いたかっただけで、いつものように 私はパピルスを書くことになった。謝罪します :)

0
Funder