この記事を読むのに必要な時間:およそ 1 分
良いメソッド名
良いメソッド名は,名前から機能が想像できます。メソッドは処理を行うので,メソッド名は「動詞」+「目的語」になっていることが多いです。よく使用されるメソッド名には表2のようなものがあります。
●表2 Javaでよく使用されるメソッド名
メソッドの役割 | メソッド名 |
値の取得に関するメソッド | getXXX |
値のセットに関するメソッド | setXXX |
生成に関するメソッド | create,build,make,genarate |
初期化に関するメソッド | initialize,setupXXX |
破棄に関するメソッド | destroy,dispose |
状態の確認に関するメソッド | contains,exists |
インスタンスメソッドは,「dateFormat.parse」のようにオブジェクト名と組み合わせて呼び出されるので,組み合わされたときに重複なく意味が通る名前にします。クラスメソッドとクラス名も同様です。
// ×parseDateStringだとクラス名のDateFormatと
// dateが重複するため,若干冗長
DateFormat dateFormat = new DateFormat("yyyy-MM-dd");
Date startDate = dateFormat.parseDateString("2008-04-01");
// ○クラス名のDateFormatとメソッド名parseの
// 組み合わせで,何を行うのかは十分理解できる
DateFormat dateFormat = new DateFormat("yyyy-MM-dd");
Date startDate = dateFormat.parse("2008-04-01");
よく使用されるメソッドは簡潔で短い名前が良いという意見があります(注4)。たとえば,Javaのjava.utilVectorクラスで要素を取得するメソッド名は「elementAt」でしたが,java.util.Listクラスではより簡潔な「get」に変更されています(注5)。
Column 英語が苦手な方へ
筆者も含めて,英語が苦手な方は名前付けの際に苦労されていることでしょう。以下,筆者が名前付けの際に気をつけている点を紹介します。
スペルミスに注意する
日本人だけが間違って使うことが多い単語として「regist」があるそうです(注a)。実際には「regist」という単語は存在せず,正しくは「register」になります。
筆者も含めて英語が苦手な方は,単純なスペルミスやオレオレ単語を作らないように,まずは気をつけましょう。英語が苦手な場合ミスっても気づきにくいところがあるのですが,英語が得意な人からするとスペルミスはかなり気になるそうです。辞書サイトなどを活用して正しい英語を使いましょう。得意な人は,ミスに気づいたらやんわりと教えてあげてください。
直訳にご注意(文脈に応じた単語を選択する)
エキサイト翻訳などで日本語を翻訳すると,直訳されてまったく意味が異なる英単語が返されることがあります。直訳英語をそのまま使うのは,思いがけず恥ずかしい意味の単語を使ってしまったりしてたいへん危険です。その文脈や対象領域にあった単語かどうかを見極めてから使いましょう。
自信がないときは……
次の方法で正しいかどうかを確認しましょう。
- 英語が得意な人に相談する(レビューしてもらう)
- Googleで検索して,検索結果の件数をチェックする(正しい単語なら検索結果が多いはず)
- Googleソースコード検索で,ほかの開発プロジェクトで使用されている名前かどうかを確認する
- SPACE ALCで検索する。たくさんの例文が一緒に表示されるため,どのような文脈で使用すればよいかがわかりやすい