LLaravel Bootcamp

Day 7チーム開発の作法 — 規約・Gitフロー・レビュー・テスト・秘匿情報

コーディング規約とPSR-12 — 書き方を揃える理由

PSR-12という共通の書式と、Pintで自動整形する意味。なぜ規約が要るのか。

コーディング規約とは

コーディング規約とは、インデントの幅・命名・波括弧の位置といった『書き方のルール』をチームで揃える取り決めです。PHPの世界では という業界標準の書式があり、Laravelもこれに準拠しています。

なぜ書き方を揃えるのか

規約は好みの押し付けではなく、生産性の道具

書式がばらばらだと、コードを読むたびに『この人はどう書く人か』を読み解く負荷がかかります。規約で揃えると、誰が書いても同じ見た目になり、読み手は中身の意味だけに集中できます。さらにレビューで『インデントが』『命名が』といった本質でない指摘が消え、設計の議論に時間を使えます。規約は個人の好みより、チーム全体の読みやすさを優先する仕組みです。

  • 誰のコードも同じ見た目になり、読む負荷が下がる
  • 書式の議論がレビューから消え、設計の議論に集中できる
  • 差分(diff)が書式の揺れで汚れず、変更の本質が見やすい

自動整形ツールに任せる

規約を手で守るのは大変なので、自動整形ツールを使います。Laravelには「Laravel Pint」が同梱されており、内部はPHP-CS-Fixerです。コマンド一発でPSR-12準拠に整形してくれます。

ターミナル
# コードを規約に沿って自動整形する
./vendor/bin/pint

# 整形せず、違反がないかのチェックだけ(CIで使う)
./vendor/bin/pint --test
Pintで整形・チェックする

整形前(書式がばらばら)

PHP
class UserService{
  public function find( $id ){
        return User::where('id',$id)->first();
  }
}

Pint整形後(PSR-12準拠)

PHP
class UserService
{
    public function find($id)
    {
        return User::where('id', $id)->first();
    }
}

AI時代の規約の価値

コードの生成はAIが得意になりましたが、AIも規約に沿った整形ツールを通すべきです。人間の価値は『どの規約を採用し、なぜそう決めるか』という判断側にあります。ツールで機械的に守れるものはツールに任せ、人はレビューで設計と意図を見る、という分担が現実的です。

面接ではこう言う

「コーディング規約はPSR-12に合わせ、Laravel Pintで自動整形しています。規約は好みの問題ではなく、書式を揃えて読む負荷を下げ、レビューを設計の議論に集中させるための道具だと考えています。書式は機械に守らせ、人は意図と設計を見る、という分担が効率的です」

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

コーディング規約(PSR-12など)を導入する主な目的は?

Q2

PintのようなツールでPSR-12を自動整形する意義を説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。