目次
Tab は使用するスペースが少なくなります
タブはカスタマイズ可能です
关于作者:古鲁伊
ホームページ ウェブフロントエンド htmlチュートリアル コードをインデントするときに Tab を使用するのが非常に優れているのはなぜですか? _html/css_WEB-ITnose

コードをインデントするときに Tab を使用するのが非常に優れているのはなぜですか? _html/css_WEB-ITnose

Jun 21, 2016 am 08:46 AM

[Bole Online 入門]: コードを美しくするとき (配置とインデント)、タブとスペースを使用するべきですか? このトピックは、ブラウザとブラウザ間の争いに関連しています。オペレーティング システムについては、プログラマーの間で長い間議論が続く可能性があるありふれたテーマです。 2015 年、プログラマーの Uku Pattak は、GitHub 上で複数言語の人気プロジェクト (星の数が多い) におけるタブとスペースの使用の比較を分析しました。

今日の記事は、フロントエンドの専門家 Lea Verou によるものです。


Twitter で私をフォローしている方、または私の講演に参加したことがある方は、おそらく私がコードのインデントにスペースを使用することを嫌っていることをご存知でしょう。しかし、ステージ上で自分の見解を詳しく説明したことはありませんし、Twitterは専門的なことを説明するのには適していません。そのため、このありふれた問題について私の意見を表明するためにブログ記事を書きたいと常々思っていたので、このように書きました。理由。

Tab は使用するスペースが少なくなります

gzip 圧縮後は、Tab を使用したファイルと Tab を使用しないファイルの間に明らかな違いがない場合があります。ただし、Tab を使用しない場合は、ファイル サイズが適切になるようにコードを処理するための追加プログラムが必要になります。圧縮ツールに頼る必要があります。コメントを例に挙げると、コードを圧縮できなくてもコメントは存在するため、非常に便利です。 Tab はスペースと同じ効果を得ることができるため、Tab を使用しないとコードが無駄に肥大化します。

タブはカスタマイズ可能です

どのエディタでもタブ文字の幅を調整できます。これはタブの欠点と考えられがちですが、実際にはタブの強みです。 タブを使用すると、他の人はあなたのコードを、あなたが好む形式ではなく、自分にとって都合の良い形式で表示できます。 CSS がページのプレゼンテーションを HTML から分離するのと同じように、タブはコードのプレゼンテーションをロジックから分離します。タブを使用すると、すべてを書き手の手に委ねるのではなく、読み手にとって作業が簡単になります。スペースを使用することは、「コードを読むのが不便であっても気にしません。これは 私の のコードです。私ののやり方」。

Tab は協力しやすいです

プログラマーはそれぞれ異なる考えを持っており、チームワークではこの性格にもっと注意を払う必要があります。 2 スペース幅のインデントを好むプログラマもいれば、4 スペース幅のインデントを好むプログラマもいます。 Tab を使用すると、各プログラマーは好みのインデント方法でコードを書くことができます。編集者は、プル後に手動で調整したり、送信前に独自のインデント スタイルに機械的に変更したりすることなく、設定されたタブ幅に従ってインデントを自動的に調整します。 、統一されたスタイルに戻りました。

特定のツールに依存する必要はありません

スペースを使用する場合、インデントは実際には 1 文字ではなく N 文字ですが、エディターでは 1 文字として表示されます。 Tab を使用すると、Tab キーを押すたびにエディターによって N 個のスペースが挿入され、戻るキーを押すかインデントで文字を削除するたびに、エディターによって N 個の文字が自動的に削除されます。エディターを使用できず、他のツールを使用する必要がある場合 (codemirror などのツールが埋め込まれた Web アプリに小さなコードを記述する場合など)、スペースのせいで当惑するでしょう。特に、codemirror はタブをスペースに変換するため、コードを見た他の人が泣くことになります。

タブは選択が簡単です

インデントをすべて選択したり、インデントを 2 倍にしたり、スペースに置き換えたりする場合は、タブを使用するのが簡単です。それがすべてであるため、Tab はこのような状況のために発明されました。スペースにはさらに多くの意味があるため、単にスペースを検索して置換するだけでは済みません。このように、本来の機能を果たさないツールを使用する行為は、通常「ハッキング」と呼ばれます。

インデントにスペースを使用するのはハックです。

タブを使用してインデントされたコードは、コピーして貼り付けるのが簡単です

Norbert Süle は、他の人が使用しているインデント幅を除いて、スペースでインデントされたコードをコピーして貼り付けるときは、とコメントで指摘しました

はたまたま と同じです。そうでない場合は、インデントを手動で調整する必要があります。 Tab を使用してもこの問題は発生しません。Tab は Tab であり、コードと完全に統合されるからです。誰もが Tab を使えば世界はもっと良くなるでしょう。

Web のタブの幅が広い場合はどうすればよいですか!

これは深刻な問題です。タブを愛する優れたプログラマでも、コードをアップロードする前にタブをスペースに変換します。ただし、CSS3 のタブ サイズ プロパティによってこの問題は解決されます。現在、Opera と Firefox はこの属性をサポートしており、Webkit も間もなくサポートする予定です。このプロパティは正常に機能を低下させることができます。ブラウザがサポートしていない場合でも、レンダリングされたコードはそれほど美しくありませんが、それでも読み取ることができます。

スペースは必ずしも悪いものなのでしょうか?

整列にはインデントではなくスペースが最適です。たとえば、次のコード:

var x = 10,    y = 0;
ログイン後にコピー

変数を整列するには 4 つのスペースが必要です。 Tab を使用する場合、タブ幅が 4 の場合にのみ変数が整列されます。それ以外の場合は、形式が崩れます。ただし、このコードがインデントされている場合でも、スペースの代わりにタブを使用する必要があります。

另一个例子是对齐具有不同厂商前缀的 CSS3 属性。缩进应该使用 Tab,但是对齐应该使用空格。示例如下:

div {	-webkit-transition: 1s;	   -moz-transition: 1s;	    -ms-transition: 1s;	     -o-transition: 1s;	        transition: 1s;}
ログイン後にコピー

认真你就输了

好吧,我夸大了空格的缺点。我确实认为空格很糟糕,但是我得承认比起程序员使用空格缩进,其它的问题可能更加严重,比如,程序员不恰当地给变量命名,或是比起 Vim,更喜欢 Emacs。

关于作者:古鲁伊

简介还没来得及写 :) 个人主页 · 我的文章 · 10

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

See all articles