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

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


Google Maps APIでマップの見た目をカスタマイズする方法
MAMPでローカル開発環境にWordPressをインストールする手順
Visual Studio Codeでコメントを色分けして管理する「Better Comments」
手軽にコーディングの勉強ができるCodePenをもっと便利に使うための設定
ウェブサイト上で簡単にWYSIWYGエディタを実装する「TinyMCE」
Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
「DevTools z-index」でz-indexがかかっている要素をChrome開発者ツールに一覧表示させる
MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?
Visual Studio Codeで連番を入力する拡張機能「vscode-input-sequence」
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング