ぐだぐだと #532

532名無しさん@Next2ch:2025/05/20(火) 11:50:01.34 ID:GExzV2PF

命名レビューでトラウマ植え付けられてそうな新人に贈る処方箋
ポエム
新人教育
新人プログラマ応援
新人エンジニア
新人プログラマ応援_記事投稿キャンペーン
最終更新日 2025年05月13日
投稿日 2025年05月13日
はじめに
新人エンジニアのアナタがコードレビューで一番指摘されているのは「命名」に関することじゃなかろうか?
「この命名イケてないね」や「なんでこの命名にしたの?」なんて指摘を何往復もして、
「命名ごときでゴチャゴチャと吐かしてんじゃないッ!」って腸が煮えくり返る気持ちになっていることだろう。

でも実は、命名こそがコードの要。
仕様を忘れた未来の自分、コードを読む同僚、保守を任された後輩──
彼らが最初に頼るのが「名前」なんです。

逆に言えば、命名をミスると全員が地雷を踏む。

命名は単なる飾りじゃなくて、コードの意味や意図を伝える大事な要素。
未来の自分やチームメンバーが理解しやすい名前をつけるための考え方をまとめてみた。

❌ NG命名①:「check」は曖昧すぎる(メソッド名編)
メソッド名に「check」を使っていると、何をチェックして何を返してるのかが曖昧になりがち。

public function checkUserStatus(User $user): bool
{
// ユーザーのステータスを確認する処理
}
これ、true なら「OK」なの? 「NG」なの?
どういう条件で true なの?──読まなきゃわからん!

⭕ もっと語らせよう
状態を返すなら is や has を。
判定を返すなら can や should を使おう。

public function isUserActiveStatus(User $user): bool {}
public function canUserEditItem(User $user, Item $item): bool {}
メソッド名で意図が語られていれば、中身を開かなくても意味がつかめる。
読み手ファーストな名前づけを心がけよう。

❌ NG命名②:dataとかinfoとかlistとかつけるな(変数名編)
変数名でありがちな「data」や「info」や「list」。
一見それっぽいけど、何を表すデータなのかがまったく伝わらない。

$data = getData(); // 何のデータ?
$info = getInfo(); // どんな情報?
$list = getList(); // 何の一覧?
$array = getArray(); // 配列型であることを言われましても……
もちろん、前後のコードを読めば「これは〇〇のデータかな?」と推測はできる。
けど、それって読み手に余計な負荷をかけてるだけ。

命名は「読めばわかる」じゃなくて、「見ただけでわかる」が正義だ。

⭕ 生きた名前に変えよう(複数形も意識)
$userProfile = getUserProfile(); // ユーザーのプロフィール
$orderItems = getOrderItems(); // 注文に紐づくアイテム一覧
$availableProducts = getAvailableProducts(); // 購入可能な商品一覧
特にリストや配列を表す変数は、List や Array と名前につけるより、意味のある名詞+複数形で表現したほうがはるかに伝わる。

$users = getActiveUsers(); // アクティブなユーザーたち
$categories = getVisibleCategories(); // 表示対象のカテゴリたち
「複数形で書けるものは、それだけで“リストっぽさ”が伝わる」。
データ構造ではなく、意味を語る命名を心がけよう。

❌ NG命名③:「not」は読む人を混乱させる(否定形は罠)
function isNotVerified(User $user): bool {}
この命名、「not」が入った瞬間に読みにくさ爆増。
if (!isNotVerified()) みたいに二重否定になったとき、


スパムを通報

このレスがスパム・荒らしである場合は以下のボタンをクリックして通報してください。
(同意できない意見などに反対票を投じる機能ではありません)
通報

このスレッドを全て表示


レスを書き込む