定数による改善
定数を使ってコードの可読性と保守性を向上させたいと思います。
定数を使うメリット
三目並べコードに定数を入れていく前に、メリットを考えてみます。
修正が楽になる
例えば以下のようなメールのメッセージを生成するコードがあったとします
def create_mail_text_a name
return <<~EOS
#{name}様
ご登録ありがとうございました。
...
以上、よろしくお願いします。
---------------------
社名: スーパモンキー株式会社
サイトURL: https://~
住所: xxx-ooo-xxx
電話番号: 000-0000-0000
---------------------
EOS
end
def create_mail_text_b name
return <<~EOS
#{name}様
本日はイベントにご参加いただきありがとうございました!
...
以上、よろしくお願いします。
---------------------
社名: スーパモンキー株式会社
サイトURL: https://~
住所: xxx-ooo-xxx
電話番号: 000-0000-0000
---------------------
EOS
end
def create_mail_text_c
return <<~EOS
本日のイベント情報です!
...
以上、よろしくお願いします。
---------------------
社名: スーパモンキー株式会社
サイトURL: https://~
住所: xxx-ooo-xxx
電話番号: 000-0000-0000
---------------------
EOS
end
...(この後にd, e, f, gと続いていく)この時に不運な事にサイトURLが変わってしまったとします。
すると、全てのメール署名部分を書き直すという非常に面倒な作業が発生します。
例の場合だと1 枚のファイルなので簡単に書き直せるかもしれませんが、これが
大量のファイルに散らばっていると地獄を見ることになります(実際経験しました)
大量に修正するのが嫌なので、定数を定義して楽したいと思います。
SIGNATUREを変えるだけで修正内容を全て適応できるので、楽できるわけです。
可読性が向上する
例えば、以下のようなコードがあったとします。
これだと、なんのこっちゃわかりません。
staff_idの123と113だけ特別な権限が与えられているのかなーくらいです。
定数にしてみます。
田中と山本という社員が営業チームのリーダーでダウンロードが出来る
それ以外の社員は出来ない、ということを定数を使って表現しました
修正前よりは可読性が上がりました。
三目並べコードに定数を適用する
以下の数字に定数を適応していきたいと思います。
プレイヤー1を表す数値の1
プレイヤー2を表す数値の2
空きマスを表す数値の0
今まで、数値を使っていたメソッドの処理を定数に置き換えてみます。
各メソッドの可読性が上がったのではないでしょうか。
最終更新