例えばこんな仕様がありました。
鼻毛を処理する道具があれば鼻毛処理ができる。 道具には、鼻毛抜き、鼻毛カッターがある。
これに対してこんなコードがありました。
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
こんなコードにします。
仕様がよりコードに埋め込まれ、
また
鼻毛処理の道具がある から 鼻毛処理 ができる。
と、より自然に読むことができるようになりました。
どうでもいいですが、後から、道具の種類に電動鼻毛カッターが増えても安心です。