見出し画像

[Flutter] enumが便利。そしてリーダブル

11時からアウトプットの時間にして、習慣化してしまおう作戦の開始。

初めましてけんけんけんことげんです。

さっきまで学んでた、ternary operatorも便利なのですが、今日はenumについてまとめたいなと。

参照
  リファレンス
  DartPad

enumってのは「Indexes a list of enum values by simple name.」らしい。
要は、数字じゃなくて、名前で管理できるリストみたいなものです。

用途

  例えば、車メーカをクラスに渡したい場合、メーカを数字で、管理するとなると1は日産、2はトヨタ、3はホンダみたいな前提の元コードを書くことになると思います。

class Car {
 
 int carMaker;
 
 Car({this.carMaker});

 }

//1 = NISSAN, 2= TOYOTA, 3 = HONDA
void main() {
 Car myCar = Car(carMaker: 2);
}


コメントで説明しなければ、数字が何を示しているのかわからなくなるコードなんて全くリーダブルでもなく、見返したときに理解するまでに時間がかかってしまいます。こんなとき、enumを使えば、以下のようにかけます。

class Car {
 
 CarCo carMaker;
 
 Car({this.carMaker});

 }

enum CarCo{
NISSAN,
TOYOTA,
HONDA
}


void main() {
 Car(carMaker: CarCo.NISSAN);
}

うん。わかりやすい。はずw

少なくとも数字で管理していたものから、文字列で管理できるようになったので、読み返したときに何をやりたいのか、何を渡したいのかが手に取るわかるコードになってますね。

こんな感じで数字じゃなく、文字列で管理できるのがenumだと理解しました。

まとめ
読み返したときにちゃんと理解できるコードを書くってとてもむすかしいと思う。特に学び始めはまずは動けば!!ってスタンスでコードを書いてると、そのスタンスに落ち着いて、ゴミコードを量産してしまう恐れがある。
なるったけ綺麗に書くってことを意識すると必然と使うようになるのかなと思うので、意識してコードをかけるようになりたいなぁ。


間違いあれば教えてください。
それではまた明日!




この記事が気に入ったらサポートをしてみませんか?