インデント
Indentation
プログラムのコードを書く際、行頭に空白(スペースやタブ)を入れて文字を右にずらし、プログラムの階層構造を視覚的に見やすく整える「字下げ」のこと。
🐾 猫で例えると?
写真の茶トラとアメショは、まるで定規で引いたかのように背中のラインをぴったりと揃えて並んで座っています。この「綺麗に位置を揃える」という美学こそが、プログラミングにおける「インデント」です。コードの開始位置を縦にピシッと揃えることで、どこからどこまでが同じグループ(処理のまとまり)なのかが一目でわかるようになり、ごちゃごちゃしたソースコードが美しく整頓されます。
💻 IT現場における「インデント」とは?
多くの言語でインデントはブロックの関係を人へ伝えます。ただし、文字列の中の空白や、HTMLで空白を保持するpreなどは表示にも影響します。「空白はどこでも消してよい」という意味ではありません。
条件分岐(if文)や繰り返し(for文)の中にさらに別の処理が重なるような複雑なプログラムでは、インデントを使って「この括弧の中身はここからここまで」という階層(ネスト)を表現することで、後から見返したときも処理のまとまりを追いやすくなります。
⚠️ インデントのメリットとPythonの特殊なルール
適切にインデントされたコードは、バグ(不具合)の発見を容易にします。括弧の閉じ忘れや、処理が意図しない場所に入り込んでしまっているミスも、縦のラインがズレていることで視覚的にすぐ気づくことができます。
Pythonにおけるインデントの重要性
Pythonではインデントが文のまとまりを決めます。ずれ方によってはIndentationErrorになりますが、文法的に正しい別の階層になり、エラーなしで意味が変わる場合もあります。見た目だけでなく意図する処理範囲を確認します。
# Python:インデントによって表示の回数が変わる
cats = ["茶トラ", "アメショ"]
for cat in cats:
print(cat)
print("挨拶しました") # ループ内なので2回
print("全員の挨拶が終了") # ループ外なので1回 同じ深さにある文は同じまとまりとして読めます。Pythonではスペース4個が標準的なスタイルですが、他の言語では既存の規約へ合わせます。タブの表示幅と実際の文字数も区別してください。
🛠️ 「インデント」を賢く使うためのポイント
現場で複数人で開発を行う際、インデントに関して必ず守るべきルールがあります。
- スペースかタブかを統一する: インデントに「半角スペース」を使うか「Tabキー(タブ文字)」を使うかは、プロジェクトの規約や整形ツールの設定に合わせます。混在させると、環境によって表示が崩れる原因になります。
- インデント幅をチームで決める: 1回のインデントを「スペース2個分」にするか「スペース4個分」にするかというルール(コーディング規約)を事前に取り決めます。
- 整形ツールの限界も理解: 対応する言語のフォーマッターを使うと形式をそろえられます。ただし意図したロジックを推測して修正するものではなく、構文が壊れたコードは整形できない場合があります。整形後の差分も確認します。
猫たちの並ぶ位置が分かるように、インデントはコードのまとまりを読む手掛かりになります。整形ツールで表記をそろえると、レビューで処理の内容に集中しやすくなります。ただし、見た目が整っていることと処理が正しいことは別に確認します。