スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
目次
インデント(indent)とは
インデントとは、適度な空白を入れて、文字の始まりを右にずらすことです。
インデントを日本語に訳すと、「字下げ」になります。
プログラミングの世界において、適度にコードの先頭をそろえることを「インデントする」と言います。
※プログラミングの文脈で、「字下げする」と言う人を私は見たことがありません。
例えば、以下のようにインデントがぐちゃぐちゃなコードは、インドントの整ったコードより可読性が悪くなります。
インデントの整ったコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Indent1 { class Program { static void Main(string[] args) { int sum=0; for (int i = 0; i <= 10; i++) { if (i%2==0) { sum +=i; } } Console.WriteLine("0~10までの整数の合計は"+sum); } } } |
インデントがぐちゃぐちゃなコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Indent02 { class Program { static void Main(string[] args) { int sum = 0; for (int i = 0; i <= 10; i++) { if (i % 2 == 0) { sum += i; } } Console.WriteLine("0~10までの整数の合計は" + sum); } } } |
実行結果
0~10までの整数の合計は30
文字を下げる3つの選択肢
文字を下げる時に、半角の空白(スペース)、全角の空白(スペース)、タブの3パターンの方法が考えられます。
プログラムにおいて、インデントする際は、半角の空白で統一するのがベストだと私は思います。
絶対に、全角の空白は使わない方がいいです。
プログラム言語によっては、全角の空白が原因で、エラーや警告が出されます。
※C#では、全角の空白を入れても、一応実行できます。しかし、何度も言いますが、全角の空白は使用しないでください。
※万が一、全角の空白が混じっている場合は、全角の空白を半角の空白などに置換してください。Visual Studioや多くのテキストエディターにおいて、Ctrl+Hを押せば、置換できます。
また、タブスペース1つ分の長さは環境によって変わります。
半角の空白の2文字分だったり、4文字分だったり、マチマチです。
そのため、ある環境では綺麗にインデントされているように見えても、別のテキストエディターで開いたら、インデントがぐちゃぐちゃに表示されてしまうという現象にぶちあたることがあります。
とはいえ、タブ一つ押せば、半角数文字分を一遍にインデントできる魅力は捨てがたいです。
このような要望のためか、タブを押したときに半角の空白に直してくれる機能がVisual Studioには備わっています。
「ツール」→「オプション」でオプションを開きます。
「テキストエディター」→「C#」(自分の使用する言語) →「タブ」のうち、「空白の挿入」にチェックを入れます。
Visual Studio2017ではデフォルトで「空白の挿入」にチェックが入っていますのでそんなに気にしなくていいです。
※現在の環境でタブが自動的に半角の空白に置き換わっているか簡易的に確認できます。まず、タブを押します。その後、矢印キーを使ってカーソルをタブのある前後で動かしてみます。カーソルが一遍に半角数文字分動いたら、タブです。半角1文字分であれば、タブは半角の空白に自動的に変換されていると考えられます。
ショートカットキー
Visual Studioにはインデントをそろえるショートカットキーがあります。
Ctrl+「K」+「D」でインデントを自動的に整理してくれます。
関連記事
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。