Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
くろきり
March 09, 2024
0
320
なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
PHPerKaigi2024の登壇資料です。
くろきり
March 09, 2024
Tweet
Share
More Decks by くろきり
See All by くろきり
リアルISUCONの戦い方
kurokiri
0
320
PeachPieを使ってPHPを.NETで動かしてみた
kurokiri
0
370
少人数チーム開発でのレガシープロダクトとの向き合い方
kurokiri
0
1.3k
Featured
See All Featured
Side Projects
sachag
455
43k
Skip the Path - Find Your Career Trail
mkilby
1
89
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Statistics for Hackers
jakevdp
799
230k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
160
Writing Fast Ruby
sferik
630
63k
Transcript
PHPerKaigi 2024 @9rokirishima なぜPHPStanやPHP CodeSnifferを導入するのか 〜受託開発編〜
自己紹介 • 緒方 大佑(おがた だいすけ) • X:くろきり(@9rokirishima) • 所属 ◦
Growfit株式会社 ◦ 開発やったりマネージャーやったり
弊社の現在状況 • 基本的に新規案件に適用 • 使用ツール ◦ PHP-CS-Fixer ◦ PHPStan(レベル6) •
BitbucketPipelineを使い、ブランチをpushする時にチェック が走る
なぜ導入したのか?
書き方が違うコード読むの辛い
• 案件跨いでレビューやデバッグしてると少しづつ違うのが読んでい てストレスになってくる ◦ なんなら同じプロダクト内で書き方が違う ◦ PSR-12で統一するというルールはあるけど形骸化 • 保守が弊社じゃなかったとしてもプロダクトの今後のために極力読 みやすいコードにして他社に渡したい
静的解析入れて読みやすいコードを保ちたい
導入までの道のり
メンバーに相談 次のPJから静的解析 入れたいんだけど… (めんどくさがられるかなぁ…)
メンバーに相談 わかりました! !?!?
あっさり導入決定!
これで全て上手くいく!
とはならない
適用したPJの体制 • PM(くろきり) • バックエンドチーム • フロントエンドチーム • ブロックチェーンチーム 静的解析の運用はバックエンドチームにお願いした
しばらく経って 納期迫ってるし修正に時間 かかるので全然使ってないです !? 導入してみてどう?
導入自体にはポジティブだけど 継続しようとするとことろにハードルがある 最初はやってたけど 納期が… うち保守やらないし… 他のところは入れなく てもやれてるし…
反省点 • いきなり運用をお願いしてしまったこと ◦ 急にまかせても上手くできないのは当たり前 • 完了の定義に静的解析によるチェックが含まれていなかった ◦ 「実装でやるべきこと」ではなく「新しい作業」が増えてるように 感じて負担になっている
改めていく
変えたこと • 自分の方でみんなが使える所まで設定とフォローを行う ◦ 新規案件用のベースブランチに予め組み込み、pushすれば 自動でBitbucketPipelineでチェックが走るように ◦ IDEの設定もドキュメントにまとめる • 実装完了の定義に静的解析によるチェックも含める
◦ 今の所は回っている ◦ 上手く進まない時にアラートが上がりやすくなってる
改善余地はまだまだあるけど 徐々によくなっていってる
• 契約形態は関係なくて、プロダクトに必要ならツール入れよう • 導入したいなら皆がやり切れる仕組みまで作る まとめ
ご清聴ありがとうございました!