2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

インデントってなんだ?

Last updated at Posted at 2019-12-08

#おい俺!コードが見にくいぞ!
swiftを今は初学者向けの本で学習をしているのだが、どうもサンプルコードを自分で書くと、コードが読みづらい。
というのも、ページの都合上改行しないといけない文がある為、「これが正しいコード」として認識をしていたのである。

例えば例として、こんなコードを書く。

import UIKit

class ViewController: UIViewController {
//スーパークラスUIViewControllerを継承しているclass ViewController

  @IBOutlet weak var label: UILabel!

   @IBAction func sayHello(_ sender: Any) {
   label.text = "こんにちは"
//
   }
   
   override func viewDidLoad() {
       super.viewDidLoad()
       // Do any additional setup after loading the view.
   }


}

でね、このコードのデコボコ具合ってなんか謎な訳ですよ。
初学者には。

コードを書くと意味分からないところで改行されるし。

だから見やすいコードっていうのは

import UIKit

class ViewController: UIViewController {
//スーパークラスUIViewControllerを継承しているclass ViewController

@IBOutlet weak var label: UILabel!

@IBAction func sayHello(_ sender: Any) {
label.text = "こんにちは"
//
}
   
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}


}

っていうもんだと思う訳ですよ。

整理されてるやん!って。

で、コードにエラーが出て知り合いのエンジニアさんにコードを送ると

「インデントのズレを直したいね」と言われた。

インデントのズレ?

##インデントってなんだ

ウィキペディアによると

字下げスタイルまたはインデントスタイル(英: Indent style)とは、プログラミングにおいてプログラムの構造を明らかにするために、コードのブロックの字下げをどうするかを決めたものである。本項ではC言語やそれに類似した言語を主に扱うが、他のプログラミング言語(特に括弧を使用してブロックを記述する言語)にも適用可能である。字下げスタイルはプログラミング作法の一部である。

とある。

いや、下げる意味なんてないやん!
いいえ、おおありでした。

###インデントは国語でいうところの段落!?

「今日は晴れでした楽しかったです明日も晴れるといいな。」

という文章があるとしよう。
この文章は果たして読みやすいだろうか。

「今日は、晴れでした。楽しかったです。明日も晴れるといいな。」なら読みやすい。

つまり先ほどの

import UIKit

class ViewController: UIViewController {
//スーパークラスUIViewControllerを継承しているclass ViewController

@IBOutlet weak var label: UILabel!

@IBAction func sayHello(_ sender: Any) {
label.text = "こんにちは"
//
}
   
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}


}

は、「今日は晴れでした楽しかったです明日も晴れるといいな。」という文章状態。
どこが段落で「。」があるのか分からない状態である

一方で

import UIKit

class ViewController: UIViewController {
//スーパークラスUIViewControllerを継承しているclass ViewController

  @IBOutlet weak var label: UILabel!

   @IBAction func sayHello(_ sender: Any) {
   label.text = "こんにちは"
//
   }
   
   override func viewDidLoad() {
       super.viewDidLoad()
       // Do any additional setup after loading the view.
   }


}

だと

import UIKit

class ViewController: UIViewController { ←段落1
//スーパークラスUIViewControllerを継承しているclass ViewController

  @IBOutlet weak var label: UILabel!

   @IBAction func sayHello(_ sender: Any) { ←段落2
   label.text = "こんにちは"
//
   } ←段落2の終わり
   
   override func viewDidLoad() { ←段落3
       super.viewDidLoad()
       // Do any additional setup after loading the view.
   } ←段落3の終わり


}←段落1の終わり

となっている。

確かに、段落1の始まりと終わりの文字の銭湯が同じ位置にあるし、段落2と3の始まりと終わりも同じ位置にある。

これが全部同じ位置に配置されていると、どれ段落の始まりで終わりかが分からない。

今までなんとなくモッコリさせればいいと思っていたけど、これでスッキリ!!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?