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
PHP_CodeSnifferを使ってPHPのコードをオートレビューしてみた.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Atsushi Nakatsugawa
PRO
May 31, 2017
Technology
190
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP_CodeSnifferを使ってPHPのコードをオートレビューしてみた.pdf
第114回 PHP勉強会@東京でLT発表した際の資料です。
Atsushi Nakatsugawa
PRO
May 31, 2017
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
5
2.6k
コーディングだけ速くとも意味がない。自動レビューによる開発の高速化
moongift
PRO
0
81
AI 支援研究開発におけるコードレビューの役割と限界
moongift
PRO
0
150
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
450
AI活用の格差をなくす:チーム全体のAI開発生産性を底上げする方法
moongift
PRO
1
620
CodeRabbit 2026年04月アップデート
moongift
PRO
0
89
AI時代のIssue駆動開発のススメ
moongift
PRO
0
530
プロダクト開発の品質を守るAIコードレビュー:事例に見る導入ポイント
moongift
PRO
1
9.3k
AIで急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
97
Other Decks in Technology
See All in Technology
Power Automateアップデート情報
miyakemito
0
230
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
6
1.4k
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
1.2k
Claude Mythos、Fable...フロンティアAIの最新動向と企業のセキュリティ対策
flatt_security
0
130
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
510
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
2
450
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
170
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
330
キャリアLT会#3
beli68
2
260
OPENLOGI Company Profile for engineer
hr01
1
75k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
910
The agentic SEO stack - context over prompts
schlessera
0
850
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Un-Boring Meetings
codingconduct
0
350
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
We Are The Robots
honzajavorek
0
280
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Become a Pro
speakerdeck
PRO
31
6k
Transcript
[Confidential] © 2016 Actcat, Inc. PHP_CodeSnifferΛͬͯPHPͷ ίʔυΛΦʔτϨϏϡʔͯ͠Έͨ MOONGIFT/SideCIΤϰΝϯδΣϦετ தಞ࢘ ୈ114ճ
PHPษڧձˏ౦ژ
[Confidential] © 2016 Actcat, Inc. ࣗݾհ 2 !B@OBLBUTVHBXB GCNFNPPOHJGU தಞ࢘
גࣜձࣾ.00/(*'5දऔక 4JEF$*/$.#9PKPIJpWFΤϰΝϯδΣϦετ ៉ྷͳίʔυͱจԽΛ࡞ΔίʔυϨϏϡʔ༻$* !TJEFDJ@KBQBO GCNFTJEFDJ
[Confidential] © 2016 Actcat, Inc. PHP_CodeSnifferͱʁ ▪نʁ Generic PEAR
PSR1 PSR2 Squiz Zend 3 ▪ PHPͷίʔυΛنʹ߹͍ͬͯΔ͔νΣοΫͯ͘͠ΕΔπʔϧ http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md ͳ͘ͳͬͨʁʁ https://framework.zend.com/manual/1.12/ja/coding-standard.overview.html ։ൃݩ
[Confidential] © 2016 Actcat, Inc. Πϯετʔϧ 4 ▪ComposerΛ͏ͷ͕Ұ൪खܰ $ composer
global require "squizlabs/php_codesniffer=*" wgetͰՄ $ curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar $ php phpcs.phar -h $ curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar $ php phpcbf.phar -h
[Confidential] © 2016 Actcat, Inc. ͍ํ 5 ▪phpcs + σΟϨΫτϦ
$ phpcs . FILE: /path/to/your/code.php -------------------------------------------------------------------------------------------------- FOUND 61 ERRORS AFFECTING 38 LINES -------------------------------------------------------------------------------------------------- 2 | ERROR | [ ] Missing file doc comment 7 | ERROR | [ ] Missing @category tag in class comment ɿ 34 | ERROR | [x] Tag value indented incorrectly; expected 2 spaces but found 1 35 | ERROR | [ ] Tag cannot be grouped with parameter tags in a doc comment
[Confidential] © 2016 Actcat, Inc. ίʔσΟϯάنͷ֬ೝ 6 ▪-iͰ֬ೝͰ͖·͢ $ phpcs
-i The installed coding standards are MySource, PEAR, PSR1, PSR2, Squiz and Zend
[Confidential] © 2016 Actcat, Inc. ίʔσΟϯάنͷมߋ 7 ▪—standardͰࢦఆͰ͖·͢ $ phpcs
—standard Zend .
[Confidential] © 2016 Actcat, Inc. ίʔυ֬ೝ͢Δ߹ 8 ▪--report=codeΛ͚ͭΔ $ phpcs
--report=code FILE: /path/to/your/code.php --------------------------------------------------------------------------------------------------- FOUND 61 ERRORS AFFECTING 38 LINES --------------------------------------------------------------------------------------------------- LINE 2: ERROR [ ] Missing file doc comment --------------------------------------------------------------------------------------------------- 1: <?php >> 2: 3: namespace·Ncmb; 4:
[Confidential] © 2016 Actcat, Inc. ࢦఠʹ߹Θͤͯमਖ਼͍ͯ͘͠ 9 ▪phpcbfͰ·ͱΊͯमਖ਼Ͱ͖Δ $ phpcbf
. PHPCBF RESULT SUMMARY --------------------------------------------------------------------------------------------------- FILE FIXED REMAINING --------------------------------------------------------------------------------------------------- /path/to/your/code.php 23 38
[Confidential] © 2016 Actcat, Inc. ࣗಈमਖ਼ͷ ▪ίϝϯτࣗಈͰೖྗ͞Εͳ͍ͷͰΤϥʔ ͱͯ͠Γଓ͚·͢ɻ ͪΌΜͱίϝϯτΛॻ͖·͠ΐ͏ʂ 10
▪@ܥࣗಈૠೖ͞Ε·ͤΜ
[Confidential] © 2016 Actcat, Inc. ͱ͋ΔϓϩδΣΫτͰࢼͨ݁͠Ռ ▪ଞͷࢦఠೲಘͰ͖ΔͷҰ෦͋Δʢۭ നͱ͔ʣ ▪نʹΑͬͯ࠷ޙͷ ?>
ʹ͍ͭͯղऍ͕ҟͳ Δ ▪phpcbfͰमਖ਼Ͱ͖ͪΌ͏͚Ͳ…Ͷ͐ʁ 11 ▪ίϝϯτͷറΓ͕ਏ͍͕࣌͋Δ…
[Confidential] © 2016 Actcat, Inc. SideCIʹ͍ͭͯ ▪PHP_CodeSnifferʹରԠ͍ͯ͠·͢ʂPull RequestΛૹΔ ͱࣗಈͰνΣοΫ࣮ߦ 12
▪SideCIࣗಈͷιʔείʔυϨϏϡʔαʔϏεͰ͢ https://sideci.com/ja
[Confidential] © 2016 Actcat, Inc. ϓϦʔζɺπΠʔτ or τΡʔτʂ 13 4JEF$*ɺ1)1@$4
͕͑ΔΜͩͬͯʂ