はじめに
ひとえに「取得」といっても、データベースからの取得、外部APIからの取得など、細かなニュアンスが異なる「取得」がある。
各パターンに応じて適切な動詞を用いた命名を行いプログラム保守性を高める。
結論
動詞 | ニュアンス |
---|---|
get | オブジェクトからprivateなフィールドの値を取り出す。 |
fetch | 外部サービス(API等)へ通信してレスポンスを取得する。 |
retrieve | データベースやストレージを検索しリスト等を取得する。(汎用的) |
find | データベースやストレージを検索し1件だけ存在するユニークデータを取得する。(限定的) |
select | 配列などのコレクションから条件にマッチするデータを取得する。 |
補足
- なんでもかんでも雑に
get
と命名するのは処理のヘビー具合が感じ取れないのでアンチパターン。アクセサ (getter / setter) やプロパティ以外では回避すべき。 -
select
はSQL文のSELECT文実行するだけの処理に使っても良い(現にそのような命名をするライブラリは多い)。ただしSELECT文以外の加工処理が含まれそうであればretrieve
が無難。 -
search
は使わない。英単語としての目的語は場所を取る。プログラミングの文脈での使用に即するのはsearch for
という表現になるが、冗長。そもそも「取得する」という意味合いが薄いので、代わりにretrieve
を推奨。
参考