何か危険なことを知りたいですか?
習慣。
何かを習慣にするために長く一生懸命練習するタイプではありません。 いいえ、私が言っているのは、あなたが気づかずに自分自身に何かを教えてしまったタイプのことです。 何年も「そこにあった」ものの、どうやってそうなったのか思い出せないような習慣。
私自身も完璧ではありません。 私にはそのような習慣がいくつかあり、間違っていて変えるべきだとわかっている習慣もいくつかあります。
例: インデントにはタブの代わりにスペースを使用します。
好みについて一日中話し合うこともできますが、最終的には「タブとスペースの合理的な議論は何ですか?」と尋ねる必要があります。
タブについては、アクセシビリティという大きな議論があります。 何よりもまず、タブのサイズは設定可能であり、x 個のスペースの固定幅である必要はありません。 2 人の視覚障害者が同じコードベースで作業しているとします。 ある人は非常に大きなフォント サイズを使用する必要があるため、タブの長さをデフォルトより短くする必要があります。 もう 1 つは、コードのネストされたレベル間の違いがより明確になるように、非常に広いモニター上ではるかに大きなタブを優先します。 配色やフォントと同じように、各開発者は自分に最も適したスタイルを選択できます。
さらに、視覚障害者もコーディングを行います。 彼らは点字ディスプレイをよく使用します。 これらのディスプレイには固定数の文字が表示され、スペースごとに 1 文字が無駄になります。 インデント レベルごとに 4 つのスペースがあり、3 レベルの深さでネストされたものを読みたいとします。 次に、すでに限られたディスプレイで 12 個の点字が無駄に消費されているという話になります。 タブを使用する場合は 3 つだけであることに比べてください。
ただし、早期の結論に飛びつくのではなく、スペースを使用することについての合理的な議論も見てみましょう。誰かがそれが最善であると判断したのです。 それでおしまい。 「一貫性」は、エディターごとに表示されるタブの長さが異なる可能性があるため、しばしば議論として造語されますが、一部のプログラマはそれを好まないのでしょうか?
私を含め、プログラミング コミュニティの大部分はスペースに慣れてきました。 それを支持する適切な議論があるからではなく、それが習慣として定着しているからです。この習慣があまりに大きくなりすぎて、一般的なコード スタイルでは正当な理由もなくユーザーにスペースを書くよう強制されています。
では、その習慣を考え直したほうがよいでしょうか? アクセシビリティとより包括的なコードの作成は非常に良い議論だと思います。 しかし、残念なことに、誰もが知っているように、習慣を断つことは難しいのです。