コーディングで「スペース」と「タブ」のどちらを使えばいいのか?

「どちらがメジャーなのか?」という観点でいくと、2022年現在はスペースの方が圧倒的に多いみたいです。
確かに自分自身、他の人のコードを見ているとスペースの方が多く、タブが使われている場合は意識して合わせることが多いです。
既存コードに合わせるが前提
まず既存コードの修正の場合は、既存コードに合わせるのが大前提です。
スペース・タブが混在してしまうと、タブの設定によってはズレてしまいます。
また、コードの中身は変えていないのにタブをスペースに変えただけでもGit上では変更と認識されてしまいます。
スペースとタブの比較
スペース
半角スペースを偶数個入れてインデントします。
最近のテキストエディタでは、デフォルトでtabキーを押しても自動で半角スペースが入ってインデントできるようになっています。
スペースの場合は誰がどのテキストエディタで見ても、必ず半角スペース分の幅だけインデントされます。
タブ
タブはテキストエディタで幅を設定できます。
そのため、複数人で作業していても自分だけ好みの幅に設定して表示できます。
また、半角スペースは偶数個入力されるのに対して、タブは1つで字下げが表現できます。
スペースであるメリットとは?
スペースとタブを比較すると、タブの方が好みの幅に設定できるし便利なのでは?と思ってしまいます。
しかし、逆にタブは環境によって字下げの見た目が変わってしまうとも取れますし、ターミナルの画面など環境によってはタブをコピーすると自動的に半角スペースになることがあります。
コピペすると半角スペースになってしまうと、結局タブと半角スペースが混在してしまう恐れがあります。
スペースは明確にタブの幅が定義できますし、タブを直接持ってこない限り多くの場合はスペースとしてコピペされます。
コピペなどの操作でタブが混ざる可能性が低いのと、誰が見ても同じ見た目になるのがスペースのメリットです。
個人的にはそれぞれの環境で好みの幅にできた方が良いと思ってしまうのですが、スペースの方がメジャーですし、あえて逆らう必要もないので今後もスペースを基本にしていきそうです。


Nuxt.jsでコンポーネントを作成してコードの共通化を行う|Nuxt.jsの基本
Vue CLIで共通のSCSSファイルを読み込む方法
サイトのPocketに保存された回数や、あとで読まれた回数まで解析できるPocketのパブリッシャーツールの登録方法
Visual Studio Codeでできる最低限のGit操作方法
scpコマンドでターミナル接続先のリモートファイルをローカルにダウンロードする方法
Visual Studio CodeでToDoコメントを一覧で表示する拡張機能「Todo Tree」
Google Maps APIを使ってGoogle Mapsをウェブサイトに表示させる方法
Vue CLIのtitleタグやmetaタグの設定方法
WordPressって何なの?これからWordPressを勉強したい人がとりあえず知っておきたい事
スマホやPCにプッシュ通知をしてくれる「Push7」をブログに追加する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Macでデュアルディスプレイ時に、通知を表示するディスプレイを指定する方法
Visual Studio Codeのテキストを、書式設定無しでコピーする設定
Figmaでテキストをカーブに合わせて変形させるプラグイン「arc」
FinderやPath Finderでタグ(ラベル)を設定するショートカットキー
CSS Nite in Kobe, vol.41「最新ネット広告の打ち手を学ぶ1dayレッスン 〜レスポンシブ検索広告からAmazon広告、ストーリーまで」に参加してきました
Figmaでチーム共有用のメモや注釈素材が使える「Annotation Kit 2.0」
Path Finderのデュアルブラウザ機能をもっと便利に使いこなすための勘どころ
アイコンフォントをPCにインストールしている場合は、コーディング後の確認に注意
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
Dashで「Secure Input is Enabled」と表示される場合の対処法