プログラミング初心者必見!インデント(余白)を正しく使う考え方

記事内に商品プロモーションを含む場合があります
スポンサーリンク

はじめに

ここでは、プログラミングをしたりソースコードを見ていると、if文等の前等に無駄にある余白について解説しています。

この水色の部分(わかりやすいように塗っています)ですが初めて見ると、何でこんなに文字の前にスペースで余白取ってるんだろうってなりますよね。これは、プログラミング用語だとインデントと呼ばれています。

そこで、今回はプログラミング界隈では必須の考え方、インデントについてご紹介します。

この記事はif文がわかっている方に向けた記事です。if文がまだわからないという方はこちら

インデントとは?

インデントとは、プログラムの構造を見やすくするために文字の先頭に空白を入れていく事です。

そもそも、インデントって必要なの?って思うかもしれません。慣れるまではスペースを空けずにコードを書いていく方が見やすいかもしれないですが、if文等を多用しだすとどうしてもインデントが必要になってきます。

インデントとは ⇒ プログラマーの可読性をあげるためのもの

インデントは、プログラムを実際に読むパソコンには全く効果がありません。ただ、プログラムを読んだり書いたりする人、つまり私たちには効果があります。

会社でプログラマーとして働く場合インデントは必須で、インデントをデタラメにしているとほぼ100%プログラムチェックする人や上司に怒られます。

それでは、実際にインデントのあるパターンとないパターンのソースコードを少し見てみましょう。

左側がインデントがあるパターンで、右側がインデントが無いパターンです。どちらが見やすいでしょうか?左の方が見やすいという場合はプログラミング能力がある証拠です!

反対に、右の方が見やすいという場合はif文の構造とかがまだうまく理解できていないので、是非インデントをマスターしてください。インデントをマスターすればソースコードを読む速度も格段にアップします。

スポンサーリンク

インデントを理解しよう

先ほどインデントをマスターすればソースコードを読む速度が格段にアップすると言いましたが、その理由について解説します。

こちらを見て下さい。

先頭のif文、if(OrderType()==OP_BUY){ ですがこのif文がどこまで影響しているか一目でわかりますか?全然わからないですよね。

正解はこちらです。右側の]の部分が影響箇所です。

最初から最後まで全て影響するというのが正解でした。このようにインデントを使っていない場合、どこまでif文が影響しているのかを判断する事が一目では難しくなってきます。
※少しプログラミングに慣れている私でも、一目で判断できません

ではインデントを使ってみるとどうでしょうか。

先頭のif文が影響する箇所に対して全て余白を持たせました。左側の縦の赤線のように、影響するif文の開始と終了の先頭を合わせてあげる事でどこまで影響するのかを視覚的にしているんですね。

こうすることで、少し慣れたプログラマーであれば1目見たら先頭のif文がどこまで影響しているのかがわかる形になります。

なのでインデントを全てつけてあげると、このような右側の感じになります。

各if文の影響箇所がずいぶん見やすくなりますよね!これがインデントの効果です。

画像のようにif文の(が影響する)中にさらにif文がある場合はインデントもさらに付けてあげましょう。それほど深く考えず、手順としてはif文やfor文で使うカギカッコ「{」を使うたびに、次行からはTabキーでインデントを付けてあげて、「}」を使うたびにインデントを1つ戻す方法がベストです。

インデントの付け方のコツは、影響箇所を見やすくする事!

インデントを付けないと起きる事

インデントについて解説しましたが、インデントを付けていない場合に実際に起きる事例を2つあげます。

可読性が落ちる

これは上記に記載した通り、可読性が落ちます。自分だけが見るプログラムであれば100歩譲って良いですが、他の人がそのプログラムを見る場合、インデントがあまりに酷いとほぼ100%クレームが来ます。

バグの原因になる

インデントを正しくつけていないと、思わぬバグの原因になります。

if文の影響している箇所を見誤り、本来if文が影響してはいけない処理なのに、if文が影響する箇所にコードを書いちゃってバグが起きたなんてこともあります。

さいごに

以上が、『プログラミング初心者必見!インデント(余白)を正しく使う考え方』です。

インデントはプログラミングをするうえで重要なお作法なので是非覚えておきましょう。

※プログラミング知識が無くてもEAが作れる!


※オンラインレッスン

コメント