web-dev-qa-db-ja.com

ES6でタブが悪いのはなぜですか?

私は最近ES6を本番環境で使用し始めたので、 ES6スタイルガイド (GitHubに350を超えるスターを付けています)を実行していました。このガイドでは、少なくとも3回言及しています "タブは悪です。使用しないでください!"

また、別の非常に人気のある JavaScriptスタイルガイド byAirBnBも、ハードタブを使用する代わりに、インデントに2つのスペースを使用することを推奨しています。

私はすべてのフロントエンド開発(もちろんES5)にタブを使用してきましたが、今まで問題はありません。 ES6でタブが邪悪であると考えられる理由を知りたいのですが完全に個人的なものであり、それは問題ではないと考えました。しかし、タブが実際にES6開発にとって邪悪になる可能性がある特別なシナリオはありますか?

1
mg007

一部の人々は残念なことに-愚かであり、彼らはそれが2017年ではなく2017年であることにまだ気づいていませんでした...そして彼らは彼らのIDE /テキストエディターがとても古くてあまりにも不器用であるためにいくつかの作業を追加するためにすべてを作るでしょう、それは適切にサポートできません愚かな、設定可能なタブ文字。

また、問題の2番目の部分は、node.jsアーキテクチャがDISASTERであることです。はるばる。正常に機能するものはほとんどありません。動作するスケジューラの欠如から始まり、スケジューリングコードを「手動で」書くことから、foreachループが正しく機能せず、使用可能なエラーサポートがなく、ネストされたコールバックコードで終わり、WORSEであり、 'の初期に書かれたgoto-spaghettiよりも維持が難しい90マイクロソフトベーシック。

私は愚かな "for"ループのデザインをうまく得ることができない人々の環境からやって来る開発者のグループがタブ文字として「複雑な」という概念に問題を抱えていて...そして愚かなことに追加することに驚きません、彼らが言うことができるすべては「タブは悪です」です。まあそれは素晴らしい議論です;)

  • タブにより、さまざまなデバイス(特にさまざまな画面アスペクト比)でさまざまな人がコードを読みやすくなります
  • タイピングが少なくて済みます
  • 文字を数える必要がないので、書式を間違えないようにするのがはるかに簡単です
  • 2、4、または5つのスペースの使用について、ばかのように議論する必要はありません...エディターで設定します
  • スペースのように単語を区切らないようにインデントするように設計されています

「タブは悪だ」とは、DTPで改ページを使用してはならないと主張するようなものです...改行を使用して揃えましょう。

いいえ、適切な文は「タブは悪だ」ではなく、「私たちは愚かすぎて作業を簡単にできないので、90年代のように作業します」です。スペースの使用が少なくとも歴史的に正当化されているCカーネルコードではありません。nodeは、モダンなインターフェイスをプログラミングする「モダンな」方法であると考えられています。

JSはUIの開発に最適で、サーバー側には完全にSUCKSです。 「スタイルガイド」でさえもサーバーサイドコード用に設計されていることと、この「コーディングガイド」がどれほどひどいかを示しているのは興味深いことです。 「クライアントとサーバーの両方で使用できるコード」...サーバーサイドで作成している場合は、ノードから離れてください。 golang、scala、c#、php、c ++、Dなどを使用してください!

また、JSに関連するものがコーディング環境を過度に汚染しないようにしてください。これらのコーディングの「要件」...これは、「すべてに適合する」何かを作成したいときに発生します。 setTimeoutを使用すると、クライアント側のUI開発では完全に問題ありませんが、通常、サーバー側ではあまりよくありません。

私はすべてのフロントエンド開発にタブを使用していますが

今日のどんな正気の人間もそうであるように、彼ができるなら...

7
Slawek