せらぴんブログスマートフォン用の表示で見るせらぴんブログサークル「せらぴん」のうのはな透です。大規模PJでは画面IDを元にクラス名設計をする場合が多々あります。それはそれで鬱屈とするのですが、それよりも厄介なのが画面名を直訳してクラス名をつける*1というパターン。この“直訳”というのがミソで、例えば下記のような画面があったとします。ユーザ編集画面ユーザ更新確認画面ユーザ画像設定画面エントリ登録画面エントリ保存更新確認画面コメント新規作成画面これが、こうなる。EditUserControllerConfirmUpdateUserControllerConfigureUserImageControllerRegistEntryControllerSaveUpdateEntryControllerNewCreateCommentControllerさて、ツッコミどころが何個見つけられたかな?!おかしいのはクラス名だけでなくて、メソッド名も往々にして悲惨なことになってたりします。EditUserController#EditUser()「ユーザ編集画面でユーザ以外の何を編集するんだよ!!」と言わずにはいられないこのセンス。Edit()で十分だと思いませんか。あとこういうのも過去に見たけど目眩がした。ボタン名が「保存ボタン」だからだって?......そうか、お前がそう思うんなら、そうなんだろうな。このPJで一番笑えないなぁと思うのは「直訳するときは単語のブレとかがあるといけないからPJ用の単語表を見て対応する単語を使ってね♥」てルールがあるという点に尽きると思う。その辞書に「保存-Save」「登録-Regist」「設定-Configure」「編集-Edit」「更新-Update」と次々単語が追加されて、それらが機械的に消化されていく。本末転倒とはよくいったものだなぁ......と。美しい名付けは美しい設計から生まれるこういう「同じ意味の違う単語が平然と現れる」「メソッド名が過度に説明しすぎ」な名付けっていうのは、余計なことに意識がそれてしまいがちです。シンプルイズベスト、わかりやすくシンプルな設計をすれば、自ずとクラス名・メソッド名はわかりやすくシンプルなものになるはずなのです。RailsのURIなどはその典型です。クラス名・メソッド名・URI設計。名付けと設計のセンスは磨いておいて損はないですよ。*1:そもそも“1画面1Controller”の時点で、Struts時代に引きずられているということで、出発点からしてすでに......。»プロフィールid:yuphielサークル「せらぴん」のうのはな透です。(1)はてなブログをはじめよう!yuphielさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。