PHPerKaigi 2023 3/25 LT会資料 https://fortee.jp/phperkaigi-2023/proposal/52f6eb96-bcff-4fcb-9439-2a5d7cb2cfde
#PHPerKaigi 2023©2023 RAKUS Co., Ltd.【実録】「PHP_CodeSniffer」で始める快適コードレビューライフ 2023/03/25 PHPerKaigi 2023 株式会社ラクス 森下 繁喜
View Slide
#PHPerKaigi 2023自己紹介 ● 森下 繁喜(もりした しげき) ○ 株式会社ラクス ○ 開発担当 ● 趣味 ○ 筋トレ(ベンチプレス80kg挙げる系PHPer) 2
#PHPerKaigi 20233アジェンダ§1. 「PHP_CodeSniffer」について §2. 「PHP_CodeSniffer」を導入するに至った経緯 §3. 「PHP_CodeSniffer」を導入してみて ※導入手順や設定ファイルなどについては触れません
#PHPerKaigi 20234§1. 「PHP_CodeSniffer」について ● PHP_CodeSnifferとは ○ コーディング規約の違反を検出するライブラリです。 ○ PSRやPEARなどの様々なコーディング規約を指定して検査を実施しています。 ○ 独自の規約を追加することも可能です。
#PHPerKaigi 20235§1. 「PHP_CodeSniffer」について ● チームでの運用方法 ○ CIに組み込んでチェック
#PHPerKaigi 20236§2. 「PHP_CodeSniffer」を導入するに至った経緯 突然ですが、 コードレビューって辛くないですか?
#PHPerKaigi 20237§2. 「PHP_CodeSniffer」を導入するに至った経緯 ● コードレビュー時に確認すること ○ コーディング規約 ○ ネーミング規約 ○ ソースコードの可読性 など
#PHPerKaigi 20238§2. 「PHP_CodeSniffer」を導入するに至った経緯 ● コードレビュー時に確認すること ○ コーディング規約 ○ ネーミング規約 ○ ソースコードの可読性 など 確認することが 多すぎる!!
#PHPerKaigi 20239§2. 「PHP_CodeSniffer」を導入するに至った経緯 ● コーディング規約・ネ―ミング規約の数が多い ○ コーディング規約:57件 ○ ネーミング規約 :26件 合計:83件 ● 機械的にチェックできる規約も... ○ クラス名の単語の先頭は大文字にする ○ インデントは空白文字2文字分
#PHPerKaigi 202310§2. 「PHP_CodeSniffer」を導入するに至った経緯● 問題点 ○ コーディング規約・ネーミング規約の確認に時間がかかる ○ 確認漏れが発生 ○ 指摘、指摘対応、再レビューの工数がかかる
#PHPerKaigi 202311§2. 「PHP_CodeSniffer」を導入するに至った経緯コーディング規約・ネーミング規約のうち、 機械チェック可能なものは自動でチェックしてほしい
#PHPerKaigi 202312§2. 「PHP_CodeSniffer」を導入するに至った経緯 PHP_CodeSnifferを導入しましょう!
#PHPerKaigi 202313§3. 「PHP_CodeSniffer」を導入してみて● コードレビューでの負担が減った?
#PHPerKaigi 202314§3. 「PHP_CodeSniffer」を導入してみて しかし
#PHPerKaigi 202315§3. 「PHP_CodeSniffer」を導入してみて めっちゃ怒られる
#PHPerKaigi 202316§3. 「PHP_CodeSniffer」を導入してみて なぜ?
#PHPerKaigi 202317§3. 「PHP_CodeSniffer」を導入してみて● Commitを開発完了時にまとめてPushしていた ○ CI実行時にまとめて修正指摘が返ってくる
#PHPerKaigi 202318§3. 「PHP_CodeSniffer」を導入してみて● 開発中に細かいCommit粒度でPushするように○ その結果、「開発→CIでコードを確認→修正」のサイクルで実装に集中しやすい状態ができた。
#PHPerKaigi 202319§3. 「PHP_CodeSniffer」を導入してみて● ほかに困ったことは? ○ 警告への対処法がわからない → 各メンバーで発生した警告の対処法を チームで共通のシートにまとめる
#PHPerKaigi 202320まとめ● 静的解析ツール最高!!○ レビューコストの削減 ← 本来の目的○ 実装コストの削減チェックする項目数を30%削減できた! 合計:83件 → 57件に
#PHPerKaigi 2023おわり ご清聴ありがとうございました!!21