開発者の間でのタブとスペースの議論は、コード内のインデントに推奨される方法を中心に展開しています。 「タブ」の支持者は、タブは意味的にインデントが正しく、カスタマイズ可能で、特に視覚障害のある人にとってはアクセスしやすいと主張しています。インデントにはタブを使用し、位置合わせにはスペースを使用することを推奨しています。 「スペース」の支持者は一貫性を重視しています。スペースを使用すると、コードの書式設定が異なるエディターやプラットフォーム間で同じに見えるようになり、タブ サイズの可変による問題が回避されます。このアプローチは、均一なコードの外観を維持するためにチーム環境で好まれることがよくあります。
しかし、C 言語でプログラミングしていて Makefile を使用する必要がある場合は、選択肢はありません。「タブ」を使用する必要があります。
Makefile のタブの要件は、Unix 開発者であり「make」ユーティリティの作成者である Stuart Feldman に由来しています。 Feldman は、Makefile 内のコマンドと他のテキストを区別しやすいようにタブを選択しました。具体的には、「make」の初期実装で使用されていた Lex パーサーはタブとスペースを区別することが困難であったため、タブの必須化につながりました。フェルドマン氏はこれが次善の決定であることを認めたが、この慣例は今も続いている。
上のスクリーンショットは Makefile を示しています。この例では、メモ帳の「シンボルの表示」機能を使用しています。この機能を使用すると、タブとスペースを明確に区別できます。矢印は、8 行目、12 行目、および 16 行目でタブが使用されていることを示しています。タブを使用すると、プログラムは実行されません。エラーが表示されます:
Makefile:line_number: *** 区切り文字がありません。やめてください。
つまり、プログラミングするときにタブとスペースのどちらを好むかはあなた次第です。しかし、C で Makefile を使用している場合、Stuart には選択の余地はありません。
上記のシリコンバレーのエピソード (S3 Ep6) をまだ見ていない場合は、シリーズ全体と同様に、とても楽しいのでぜひ見てください。
ベン・サントラ — 10 月
以上がタブとスペース — C の Makefileの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。