check_xxx がなんでダメなのか

どうも check_xxx というメソッド名は辞めよう委員会のやましろです。
追記:hoge_managerとかfoo_processorとか辞めよう委員会の委員でもあります

ダメやダメや。と言ってたら「なんでダメなん?」って聞かれたので例を書いてみました(ミスってアノニマスで作っちゃった)

  • check_userという名前では、何をチェックするかがわかりません。
  • 一個のメソッドの中で複数のことをするのは辞めましょう
  • 予期しないexitとか…

実は、check_xxx がダメな理由って、最初のだけだけど、
check_xxx 書くやつ、絶対他のこともそのメソッドでやるんだよなー。

まぁ、「絶対的に正しいコード」なんてないですけど、
check_xxx はいただけないですね。
この例だったら、中で余計なことしてなくて、
check_user_x_stateぐらいだったらギリ許す。
でもそれだったら is_valid_x_stateでいいですよね。is_valid_user_about_x とか?
英語力ないんですけど、他の人も英語力ないと思うので、だいたい伝わればいいです。

2個目のコードは修正例です。

このように、メソッド分割などして、
修正する時間がない場合、メソッド名をcheck_userから
check_user_x_value_and_if_invalid_update_x_and_redirect
ぐらいのメソッド名にしたほうがいいとおもいます。

いや、どうだろうw長いw