kakts-log

programming について調べたことを整理していきます

シンボリック定数について 当たり前だけど忘れがちなこと

もし、あるコードの中で2つの定数x,yが必要だとする

xはある物の個数で、
yはxの2倍の値を保持するもの

と考えたときに、もしxが100だとすると

public static final int X = 100;
public static final int Y = 200;

と安易に宣言するのはリスキーである。 もし実装の途中でXの仕様を変更した場合、Xだけでなく、Yもいちいちそれにあわせて替えなくてはならない。

この場合、解決策としてシンプルに考えてみて

public static final int X = 100;
public static final int Y = X * 2;

でおk。 こうすれば、仕様通りに、XとYの関係性を保持することができ、コードも読みやすい。そんでもってXを変えたらYも勝手に変わってくれるので、修正が楽。