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整形前(書式がばらばら)
class UserService{
public function find( $id ){
return User::where('id',$id)->first();
}
}Pint整形後(PSR-12準拠)
class UserService
{
public function find($id)
{
return User::where('id', $id)->first();
}
}AI時代の規約の価値
コードの生成はAIが得意になりましたが、AIも規約に沿った整形ツールを通すべきです。人間の価値は『どの規約を採用し、なぜそう決めるか』という判断側にあります。ツールで機械的に守れるものはツールに任せ、人はレビューで設計と意図を見る、という分担が現実的です。
面接ではこう言う
「コーディング規約はPSR-12に合わせ、Laravel Pintで自動整形しています。規約は好みの問題ではなく、書式を揃えて読む負荷を下げ、レビューを設計の議論に集中させるための道具だと考えています。書式は機械に守らせ、人は意図と設計を見る、という分担が効率的です」
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
コーディング規約(PSR-12など)を導入する主な目的は?
PintのようなツールでPSR-12を自動整形する意義を説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。