フルスタックエンジニアのノウハウ
2020.02.14    2020.03.17

【プログラミング】インデントをしよう!

【プログラミング】インデントをしよう!

こんにちは、徳田 啓です。
Webプログラマー歴20年、【フルスタックエンジニア マスター講座】を運営しています。(生徒数1,800名突破)


皆さんは、「インデント」という言葉をご存知ですか?

プログラミングで読みやすいソースコードを書くためには、インデントはとても大切です。

今回は、プログラミングにおける「インデント」についてご説明します。


この記事の動画版はこちら

チャンネル登録お願いします!



インデントとは何か?

インデントとは、行の先頭にTabキーやスペースキーで空白を挿入して「字下げ」を行うことです。


字下げを行うことでソースコードが読みやすくなるため、プログラミングではインデントを必ず行います。

例えば、条件分岐処理やループ処理などを行う際、「その条件にマッチした時に行う処理」を中括弧 { } の間に記述します。


この時、ブロックの中の記述を1段字下げしておくと、「この部分がブロックの中」であることが分かりやすくなります。

全てが左揃えになっているよりも、ぱっと見で分かりやすいですよね。

上のように条件が1つしかないシンプルな条件分岐なら良いのですが、ある条件にマッチした場合にさらに別の条件分岐が行われるような複雑な場合もあります。

例)複雑な条件分岐処理

このような場合、インデントされずに全てが左揃えになっていると、どの { が どの } に対応しているのか分かりづらくなります。

例)インデントしていない場合

インデントをしっかり行うと、こういったソースコードも見やすくなります。

このように、Tabやスペースを使って行頭を字下げをすることで、ソースコードの構造を見やすくするのが「インデント」です。

なお、プログラムではこのように「ある処理の中に、また別の処理が入っている構造」が多くあります。

こういった階層構造のことを「ネスト」や「入れ子」と言います。

プログラミングではよく出てくる言い方なので覚えておきましょう。(「ネストされている」「入れ子構造になっている」といったように使われます)

インデントの方法


通常、プログラミングのインデントは以下のどれかのパターンで行います。

①Tab1つ分
②半角スペース2つ分
③半角スペース4つ分

Tabキーを使う場合と、スペースキーを使う場合があり、さらにスペースの場合は「2個分(字下げ幅が少なくスリム)」または「4個分(字下げ幅が大きく分かりやすい)」という2つのパターンがあります。

どれを使うかはプログラマーの好みで分かれます。

ただし、混在はしないように、どれかで統一するようにしましょう。

開発チームやプロジェクトに参加した場合は、コーディング規約で決められていますのでそれに従います。

ちなみに、Tabでインデントを行うことを「ハードタブ」、スペースでインデントを行うことを「ソフトタブ」と呼ぶこともあります。

Tabを使う際の注意点


閲覧するエディタによって、異なる書式で表示される場合があります。


例)インデントにスペースを使った場合


例)インデントにTabを使った場合


スペースを使う際の注意点


インデントの度にスペースキーを2回(または4回)連打していると、どこかで3回や5回など、数を打ち間違えてしまうことがあります。

また、半角スペースではなく、間違って「全角スペース」が混在してしまった場合、プログラムが実行エラーとなることがあるので注意が必要です。

ATOMなどのエディタでは「どのインデントスタイルを使うか」を予め設定しておけば、キーボードのTabキーを1回押すだけで、自動的に入力されるようになっています。(例:インデントスタイルを「スペース4文字」に設定しておけば、Tabキーを1回押すとスペース4文字が自動入力されます)

この機能を使って、スペースでインデントする場合もTabキーを使うようにしておけば間違いも無く、入力も早いのでお薦めです。


プログラムの動作に影響はあるのか?


どちらを使おうとプログラムの動作に直接的な影響はありません。

ソースコードの書きやすさ、読みやすさで自分に合うものを選びましょう。

タブ/スペース論争


インデントにTabを使うかスペースを使うかという点は、プログラマーの中でも意見が分かれており「タブ派」「スペース派」なんて呼ばれることもあります。

IT業界を舞台にした海外ドラマ「シリコンバレー」でも、このタブ/スペース論争を面白おかしく描いたシーンがありました。

ITオタクの主人公リチャードは、強硬なTab派。

せっかくガールフレンドが出来たのに、彼女がスペース派だったため、言い争いになり別れてしまいます・・。

なおこのウィニーという女性は、インデントの際にスペースキー連打で入力しています(すごいタイピング量)

そんなところも、神経質なリチャードは耐えられなかったのかもしれませんね・・。

ちなみに、リチャードが経営するITベンチャー「パイドパイパー」では、「インデントにはTabを使うこと」と社則に書いてあるそうです(笑)

海外ドラマ「シリコンバレー」については、また別の機会に詳しくご紹介しようと思います。

まとめ


プログラミングを行う際は、ソースコードを読みやすくするために「インデント」を必ず行いましょう。

Tab/スペースといったインデントスタイルは、コーディング規約がある場合はそれに従い、無い場合は自分の好きなスタイルを使いましょう。

どれを使うかは好みですが、少なくとも同一プロジェクトのソースコード内では統一するようにしましょう。

おすすめ記事
無料メルマガ配信中