LoginSignup
49

More than 3 years have passed since last update.

メソッド名・変数名などに使用する英語の使い分けついてのガイドライン

Posted at

英語のニュアンスがわからないため微妙なところで名付けに困ることがあります。
これは自分なりの使い分けのガイドラインです。

どういう表現を使用するか

積極的に採用

  • hoge_number : 番号を表すときはnumber
  • hoge_count : 計数(個数や回数)を表すときはcount

採用したくない

  • number_of_hoge : 長くなるから嫌う人は多いと思う
  • hoge_no : noでは意味がわからない

コレクション

積極的に採用

  • hoges : 一般的に複数形にすることでコレクションであることを表現できる
  • hoge_group : なんらかの規則で集められたグループであることを示唆できるかもしれない

採用したくない

  • hoge_list : データ構造を明示するのは冗長(だが必要となることもある)

〜〜者

日本語では多用するが英語にするのが難しい。特に「担当者」という言葉はなんでもありなので業務システムの設計としては分析不足かもしれない。

積極的に採用

  • 動詞 + er : 〜〜する人という造語法で誰でも理解可能であり、単純なのでまずはこれを検討
    • ただし、「描画者」を表現しようとしてdrawerにすると「引き出し」の意味が強く混乱の元になるので、このような一部の単語には要注意
  • 動詞 + ee : 〜〜される人という造語法。日本語話者には一般的ではないが他のプログラマがこれで理解してくれたらありがたい。

採用したくない

  • hoge_rep : representativeの略で正しい表現だがわかりにくい。
  • hoge_member : 苦肉の策

複数の表現をどう使い分けるか

状態 state/status

  • 状態1つを表す場合はstate
  • 状態を組み合わせてできる複合的な状況status

可否 can/-able

  • 権限としてできるかどうかの場合はcan
  • 状態としてできるかどうかの場合は-able

開始と終了

  • begining/end : 始まり/終わり(名詞)
  • start/stop : 始める/やめる(動詞)
  • begin/finish : 着手する/完了する(動詞)

実行 run/do/perform/exec(ute)

そもそも実行するという名付けそのものがよくない。何を実行するのかに基づいて命名すべき。とはいえ、やりすぎた抽象クラスなどで使うこともありうる。
* サーバのように実行中(running)状態があるようなものを実行する場合、run
* 下準備を色々してから最後に実行するという場合、execute
* ある一つのタスクを実行する場合、perform
* doは多くの言語で予約語的扱いなので使用しない

追加 add/append/insert

  • 通常はadd
  • コレクションに順序性があり末尾に追加する場合はappend
    • 先頭に追加する場合はprepend
    • 途中に追加する場合はinsert

作成 create/build/generate

  • 無から作成する場合は、create
  • 材料を組み立てて作成する場合は、build
  • 材料をもとに質的に別な物を生成する場合は、generate

変更 update/change/modify/patch

  • 変更結果が永続化されるならupdate
  • 変更結果が一時的なものならchange
  • modifyは使用しない
  • いわゆる「パッチ」を実行する場合のみpatch

削除 delete/destroy/remove/erase

  • 削除結果が永続化されるならdelete
    • またはdestroy。慣習による
  • 一時的に取り外すだけならremove
  • eraseは使用しない

属性 property/attribute

使用している言語やフレームワークの慣習に従っておく。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49