警告:日曜日の”シリコンバレー”のために先にスポイラーがあります。”
日曜日の”シリコンバレー”のエピソードは正常への復帰でした。 彼の会社のパイドパイパーを担当してリチャードの背中と乗組員は、いくつかの新しい雇用をもたらしました。 すべてが今リチャードのために右に行くように見えると、それはエピソードが楽しみのビットを持っているためのチャンスだったし、それはコーディングの
エピソードの初期に、Hendricksは彼の新しい従業員の”コミット”の一つ、書かれたコードのバッチがタブの上にスペースを使用して作られたことを知ったときに気
タブやスペースを使用するかどうかをめぐる議論は、エピソードの長さを支配しています。 そして、最後までに、それも金切り声停止にFacebookの従業員とリチャードの新進関係をもたらします。
“私はこれがうまくいくとは思わない。 ごめんなさい 私たちはこれを頭に掛けて世界の子供たちを連れて来るつもりですか? それは本当に公平ではないと思いませんか?”ヘンドリックスは激怒して吐き出す。
“子供?”ウィニーは混乱し、尋ねます。 “私たちはまだ一緒に寝ていません。”
“と推測すると何ですか?”リチャードは怒って答える、”それは決して今起こることを行っていない。 私はタブの上にスペースを使用する人と一緒にいる方法はありませんので。”
それは古典的な”シリコンバレー”のシーンであり、ショーがそのコメディブランドを構築している陽気さ、nerdiness、そして深いうんざりのネクサスに座っています。
しかし、私たちがリチャードが関与するのを見た最初の本当のロマンスの終わりに加えて、ここでは一体何が起こっていたのでしょうか? ショーは、私たちはタブ対スペースがリチャードが神経的に強い意見を持っている主に些細なコーディングの議論であることを知らせる、エピソードの前に非コーダーにコンテキストのビットを与えます。
ここでは、引数が実際に何であるかについてです。
コードは、通常、Microsoft Wordのようなwhat-you-see-is-what-you-getエディタでは記述されていません。 むしろ、多くの場合、生のテキストとして入力され、すべての書式設定が行ごとに作成されます。
そして、Jamie Zawinskiが2000年に”Tabs versus Spaces:An Eternal Holy War”と題されたブログ記事で説明したように、コードは通常、さまざまな大きなインデントと空白を使用してフォーマットされ:
よりインデントされたコード内の句は、一般的に、その上にインデントされていない句に従属しています。 したがって、書式設定は審美的な目的以上のものを提供します。
しかし、歴史的に、その空白を作成するには2つの方法がありました:Richardのお気に入りのタブは、キーを押す回数が少なくなります(したがって、ほとんどの場 Winnieのお気に入り、スペースは、コーダーに彼らのインデントを作成するためのより具体的かつリテラルな方法を提供しています。 ただし、使用するのが遅く、より多くのストレージスペースを使用します。
は2009年のブログ記事”宇宙異教徒に死を!”ジェフ-アトウッドは視覚的に違いを表しています:
ドットで表されるスペースは左にあります。 矢印で表されるタブは右側にあります。
些細な議論のように見えるかもしれませんが、それはコーディング界で熱くなります。 (この記事を書いている時点で、Atwoodの記事には277のコメントがあります。)そして、それはいくつかの重要性を持っています。 Atwoodは1984年の研究で、プログラマは慣れ親しんだスタイルで書かれたコードを読むのがはるかに優れていることを示しています。
そして、コードに取り組んでいるチームが同意しない場合、両方のブログ投稿が思い出すように、内紛を引き起こす可能性があります。
幸いなことに、世界のプログラマにとって、新しいソフトウェアは、多くの場合、独自にこれらの書式設定の懸念を処理します。 だから、少ないコーディングチーム、または架空の関係は、それらのためにバラバラにする必要があります。