【PHP実践|実務向け】PHPエンジニアのための「関数名」命名戦略:意図を正しく伝える英語の選び方

導入

プログラミングにおいて、関数名はコードの「説明書」です。熟練のエンジニアほど、関数名を見ただけで「何が起きるか」「どんな副作用があるか」を瞬時に理解します。しかし、似たような意味を持つ英単語(例:deleteとremove、createとmake)を無意識に選んでしまうと、コードの意図が曖昧になり、バグの温床や保守性の低下を招きます。本稿では、PHP開発の現場で迷いがちな動詞のニュアンスを整理し、コードの可読性を高める命名戦略を解説します。

基礎知識

PHPを含む多くのプログラミング言語では、「動詞+目的語」の形式(例:`updateUserStatus()`)で命名するのが一般的です。ここで重要なのは、単語の直訳ではなく、その単語が持つ「プログラミング的な慣習」を理解することです。例えば、`remove`は「リストから取り除く(戻せる可能性がある)」、`delete`は「物理的に消去する(戻せない)」というニュアンスの違いがあり、これを使い分けるだけでコードの安全性に対する意識が周囲に伝わります。

実装/解決策

命名に迷った際は、以下の分類基準を参考にしてください。

1. データの削除(Destroy/Delete/Remove/Clear)

  • delete: データベースのレコードなど、完全に消去する場合。
  • remove: 配列などのコレクションから要素を外す場合。
  • clear: オブジェクトやバッファの中身を空にする(器は残る)。

2. 値のセット(Set/Add/Put/Insert)

  • set: プロパティへの代入。
  • add: 配列への追加や数値の加算。
  • insert: 特定の順序やインデックスを意識した挿入。

3. 状態や型の確認(is/has/exists)

  • is…: 状態の確認(`isEmpty()`, `isValid()`)。戻り値はbool型。
  • has…: 所持しているか(`hasPermission()`, `hasAttribute()`)。

サンプルプログラム

以下は、これらの命名規則を意識した実用的なクラスの例です。コメントで各関数の意図を明確にしています。

  • 指定したキーにデータを追加する(連想配列への追加)
  • /
    public function put(string $key, mixed $value): void
    {
    $this->data[$key] = $value;
    }

    /

    • 特定のデータが存在するか確認する

    /
    public function has(string $key): bool
    {
    return isset($this->data[$key]);
    }

    /

    • データを完全に取り除く

    /
    public function remove(string $key): void
    {
    unset($this->data[$key]);
    }

    /

    • 全てのセッションデータを破棄(空にする)

    /
    public function clear(): void
    {
    $this->data = [];
    }

    /

    • 状態が正しいか検証する

    /
    public function isValid(): bool
    {
    return !empty($this->data);
    }
    }

    // 実行例
    $manager = new UserSessionManager();
    $manager->put(‘user_id’, 123);

    if ($manager->has(‘user_id’)) {
    echo “データが存在します。”;
    }
    ?>

    応用・注意点

    現場での命名で陥りやすい失敗は「過度な省略」と「曖昧な語彙」です。

    • 一貫性を優先する: プロジェクト内で「削除」を`delete`にするか`remove`にするか、チーム内で辞書(用語集)を共有しておくことが、数千行のコードを読み解く際の鍵となります。
    • try / attemptの使い分け: `try`は例外処理を前提とした試行に、`attempt`はログインのような「失敗する可能性が高い(パスワード間違いなど)」処理に対して使うと、コードの意図がより明確になります。

    綺麗なコードは、正しい単語選びから始まります。次にコードを書くとき、一呼吸置いて「この単語は、この処理の責任を正しく表現しているか?」と自問自答してみてください。

    タイトルとURLをコピーしました