列挙型: 意味のある定数
0や1といった数字に名前を与える。マジックナンバー撲滅の切り札。
列挙型 (Enum)
複数の定数をひとまとめに定義した型。内部は整数。
マジックナンバー
コードの中に突然現れる、意味不明な数字。排除すべきもの。
マジックナンバーを消す
プログラム中で if (type == 3)
のようなコードを見ると、誰もが「3って何?」と思います。これを「マジックナンバー」と呼び、バグの温床になります。
列挙型 (enum) を使うと、数字に意味のある名前をつけることができます。内部的には整数(0,
1, 2...)として扱われますが、コード上では RED, BLUE
のように記述でき、可読性が劇的に向上します。
// マジックナンバー (ダメな例)if (state == 0) { ... } // 0って何?
// 列挙型 (良い例)enum State { TITLE, // 0 PLAYING, // 1 GAMEOVER // 2};
enum State current_state = TITLE;
if (current_state == TITLE) { ... } // わかりやすい!