はじめに
java初心者が備忘録的に書いています。
今回は設計の基礎の基礎について備忘録的にまとめてみました。
参考文献:https://amzn.asia/d/9wxye1Y
変数
プログラムを書くときに必ず使う変数ですが何気なく変数命名していた
以下のコードが何の処理を行っているか考えてみる
int a = 100;
int b = 1.08;
int ans = a * b;
このコードを見た感じよくわからないaとbが掛け算されてansに入っているということがわかるが、具体的に何の処理が行われているかがわからない。
そこで変数名を書き換えてみる。
int price = 100;
int taxRate = 1.08;
int includingTaxPrice = price * taxRate;
これで税率の計算をしていることがわかった。
上記のように変数命名一つでコードの可読性は変わる。
では次に以下のコードを見てみる。
このコードは100円のものが税込み後に30円割引されるコードである。
int price = 100;
int discount = 30;
int taxRate = 1.08;
int includingTaxPrice = price * taxRate;
includingTaxPrice = includingTaxPrice - discount;
このコードには問題点が一つある。それは変数の再代入である。
今回includingTaxPriceは税率を含む商品の値段を代入する目的で作成した。にもかかわらず割引後の値段が再代入されている。
再代入をしてしまうと本来の意図と違う値が変数に入ってしまいバグを引き起こす恐れがあるらしい。
そのため割引後の値段はpayAmountなど新たなint型の変数を作成して代入すべきである。