設計について(3)「定数化」
今日は、前回の話にちょっと追加したいことがあります。
最後の方で、「a > 5」の近くに
「b > 3」があったらという話をしましたが
これをどのように定数化したらいいでしょうか?
「5」と「3」が全く関連しないものであれば
それぞれ定数化すればいいんですが、
その差に意味がある時は、こんな感じでしょうか?
local LIST_MAX = 5 local MAX_OFFSET = 2 if a > LIST_MAX then -- aが限界を超えている if b > LIST_MAX - MAX_OFFSET then -- bもbの限界を超えている -- bの限界は、aの限界よりMAX_OFFSETの分少ない
この例では、「3」を定数化せずに
差分の「2」を定数化しました。
定数化は、仕様がそのまま読み取れるようにしましょう。
変に気を利かせて、計算した結果を定数で定義したり
今は、絶対起こり得ないからと条件分岐を省略したり
しないようにしましょう。
仕様そのままに
仕様が分かるように
定数化して下さい。
はい、これは定数だけではなく
ロジックもですね。
それでは、Quit