web-dev-qa-db-ja.com

HTMLまたはJavaScriptの推奨最大行長はありますか?

ほとんどのプログラミング言語のほとんどのスタイルガイドラインでは、最大行長(通常は80文字)が推奨されています。これは、HTMLとJavaScript(HTMLに埋め込まれている場合)を非現実的に短くしたようです。 HTML/JavaScriptの実際の行の長さの制限についてコンセンサスはありますか?それとも一般的に開発者の常識に任されていますか?

36
Matthew

JavaScriptについて言及しているので、これについて Douglas Crockford がこのトピックについて語っています。

80文字を超える行は避けてください。ステートメントが1行に収まらない場合は、改行する必要がある場合があります。演算子の後に、理想的にはコンマの後にブレークを置きます。オペレーターの後の中断により、コピー/貼り付けエラーがセミコロンの挿入によってマスクされる可能性が減少します。次の行は8スペースインデントする必要があります。

From: JavaScriptプログラミング言語のコード規約

29
Daniel Vassallo

この制限は、ancientIBMパンチカードからのレガシーのようです。 80文字がコード幅の「標準」の制限である理由

HTMLで80文字だけを処理するのは本当に難しいと思います。それは本当に速く読めなくなります。そこで、私はGitHubの行の長さを測定値とすることにしました。

OSやブラウザによって文字制限が異なるようです。ただし、120はかなり安全な値です。

Ubuntuの場合:

  • Firefox:126
  • Opera 12.16:126
  • クロム:113

OSX 10.9の場合:

  • Google Chrome:125
  • Firefox:122
  • サファリ:121

ソース: Githubの文字制限、またはgithubでファイルを表示するための行の長さは何ですか?


一方、独自の標準を選択しても機能しない場合があります。言語またはフレームワークのコーディング標準またはリンターでは、80文字に固執する必要があります。これは、モバイル画面でコードを読み取る場合、少なくとも非常に役立ちます。

しかし、HTMLの場合、この数字を120文字に増やします。読みやすさのために。つまり、BootstrapのようなすべてのCSSクラスが重いフレームワークについて考えると、最終的にはテンプレートの行の長さは80文字しかありません。 (それとは別に、大量のクラスでHTMLを汚染しないBourbon Neatを選択することをお勧めします。)

17
leymannx

GoogleはJSに対して500風と言っています: https://developers.google.com/closure/compiler/faq#linefeeds

Closure Compilerは意図的に500文字ごとに改行を追加します。ファイアウォールとプロキシは、非常に長い行を持つ大きなJavaScriptファイルを破損または無視することがあります。 500文字ごとに改行を追加すると、この問題を回避できます。

醜い--max-line-len 500またはgrunt-contrib-uglify options: { maxLineLen: 500 }

制限がHTMLに適用されるのかCSSに適用されるのかはわかりませんが、使用したCSSコンプレッサーでそのオプションを見たことはありません。

SMTPルールはHTMLメールに適用されます: https://www.ietf.org/rfc/rfc0821.txt

コマンドWordとCRLFを含むコマンドラインの最大全長は512文字です。

11
Webveloper

80文字の行数制限は、多くの不動産のないスクリーンの時代から生まれます。読みやすくするためにこれで同じようになり、2つ(またはそれ以上)の異なるコードファイルを並べて開いて、それぞれを表示するためにスクロールする必要はありません。

これらの理由は依然としてHTMLとJavaScriptに当てはまりますが、明らかにそれらに準拠する必要はありません。だから、それはあなた次第です。

JavaScriptでは問題にならないはずですが、HTMLではその制限内に収めることが難しい場合があることに同意します。

8
Carson Myers

行の長さの上限は、読みやすく、編集しやすいものです。個人的には、ラッピングしないと画面に収まらない私のコードは書き直されます。

3
VoodooChild

すべてのHTMLを1行にまとめてみませんか?ブラウザーはこれにどのように対処しますか?私はどこかのブラウザ(どれがどれか覚えていない)が長い行で壊れることをどこかで読んだことがあります。

ファイルから新しい行を取り除くことは、最適化手法です。開発時に使用するのと同じ読みやすいバージョンをクライアントに提供する必要はありません。あなたは彼らにストリップバージョンを与えることができます。どうして?帯域幅は無料ではありません。

0
hassan

多くの「サービス」(たとえば、一部のterminalウィンドウの実装、-GitHubなど)は、長い行を折り返さず、スクロールバーがありません。
したがって、72文字または80文字を超えると、単純に切り捨てられます。

また、スクロールバーがある場合でも読みやすくするために役立ちます。コードが単一の画面幅に収まる(またはほとんどの場合)場合、コードは読みやすく/消化/デバッグしやすくなります。

したがって、コードは実行されますが、常に全体を表示できるとは限りません。

0
SherylHohman