ぐだぐだと ID:GExzV2PF

531名無しさん@Next2ch:2025/05/20(火) 10:13:25.08 ID:GExzV2PF

  

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()) みたいに二重否定になったとき、

533名無しさん@Next2ch:2025/05/20(火) 15:36:46.07 ID:GExzV2PF




               ¶   ‗      //7
               .|| \M/  _//7
          ┌┌┐|| |!Y=Y!:|  / |ミ ̄ ̄ ̄\  _
       / ̄ ̄| |几\.Y>内<∨,、_/   ̄ ̄\ //7 /| \
       \/ ̄ //^ii====///\     / // |〕コ〕
        Λ ̄|巨〈 ̄〈 ||巨ヨ]  〔( ̄| ̄ ̄| |  //|| ̄ |
         / ̄\Λ冂V ̄ ̄//\__/ \_//  //. ||   |
         〔〔〔|X| Λ凵 | ̄|| ̄  /   〔 | |  //   ||   |
         /   厂斤〈|「刀ー||ヘ    / ̄ ̄| \\ ||   |
       /7l   |〔|凵/〕/| || V|   |    | |   |   |
     ///_  / |  |  ||  ||_||_|/   |__ ||/| ̄ ̄|
    / / / 7\/ \/└‐|//   \   C ノ /  |  |
   _/_/ /〔彡ノ   | ||  |  |    |   彡Щ |   |  |
  ∠ ̄/ / |      |冖|| ノ  |   |       |  |  |
   | |/ / ̄ ̄// / ̄/\〔〉  || ̄||     |  |   |
   / /  / ̄/ ̄  | ̄| /⌒ヽ  V ̄ V|      |  |   |
  / / /_/     |リ| /   | γ| ̄ ̄|ヽ、    |  |  |
  7⌒)       / / |   | |Λ  /  |    | |  |
  / /       / / \/7/ | || ||  |   | /_/
 / /         ̄\_/  ヽゝ \|廿 |「7    レ ̄レ
 ◎       匚]二二/ ̄\    |    |/
          /_//\_/\  /__ V
        /_/  // Λ_| 〈〔 | || | 〕〉
       /,.,.,., / ̄ ̄ ̄  / ̄ ̄ 匚二二二二]
        ̄ ̄ ̄ ̄ ̄ ̄      | || 凵 || |
                      | V__ / |
                      \| 卩 卩 |/

534名無しさん@Next2ch:2025/05/20(火) 15:39:05.73 ID:GExzV2PF

535名無しさん@Next2ch:2025/05/20(火) 15:45:43.84 ID:GExzV2PF

 


ピュアちゃん

536名無しさん@Next2ch:2025/05/20(火) 15:52:22.72 ID:GExzV2PF

 


このIDをNGリストに追加する

今後このIDの書き込みやスレッドを表示したくない場合、以下のボタンをクリックしてください。
NGリストに追加

レスを書き込む