できるだけコードに仕様を埋め込む努力をしよう
例えばこんな仕様がありました。
鼻毛を処理する道具があれば鼻毛処理ができる。道具には、鼻毛抜き、鼻毛カッターがある。
これに対してこんなコードがありました。
001 If 鼻毛抜きの在庫 > 0 OrElse _
002 鼻毛カッターの在庫 > 0 Then
003 鼻毛処理()
004 End If
これでも、確かに仕様を実現していますが、より仕様を埋め込んだ方が後から読んだ時に分かりやすいので
001 If 鼻毛処理の道具がある() Then
002 鼻毛処理()
003 End If
004
005
006 Private Function 鼻毛処理の道具がある() As Boolean
007 If 鼻毛抜きの在庫 > 0 Then
008 Return True
009 End If
010
011 If 鼻毛カッターの在庫 > 0 Then
012 Return True
013 End If
014
015 Return False
016 End Function
こんなコードにします。
仕様がよりコードに埋め込まれ、
また
鼻毛処理の道具がある から 鼻毛処理 ができる。
と、より自然に読むことができるようになりました。
どうでもいいですが、後から、道具の種類に電動鼻毛カッターが増えても安心です。