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

WBOY
リリース: 2016-06-21 08:46:50
オリジナル
1529 人が閲覧しました

[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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート