tech@netbsdに、関数名の付け方の話でおもしろい話が出ていた。
=====
関数名は、
「その関数を呼ぶ事で何をしたいか」
ではなく
「その関数が何をするか」
を表した名前をつけるべき。
例えば、lockのリファレンスカウントを増やす関数を作る時は、
lock_retainやlock_holdという名前は適さない。
なぜなら、これらの関数名は、
「リファレンスカウントを増やす事で、呼び出し側がlockをretainしたい」
という、呼び出し側の立場で名前が付けられているから。
「その関数が何をするか」
という立場で名前を付けるなら、lock_increfのような名前にするのが良い。
=====
まあ、関数名には慣習もあったりするので、
ここまで厳密にルールを適用する必要は無いかもしれないが、
心に留めておこう。
0 件のコメント:
コメントを投稿