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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Nakatsugawa
PRO
May 31, 2017
Technology
1
190
PHP_CodeSnifferを使ってPHPのコードをオートレビューしてみた.pdf
第114回 PHP勉強会@東京でLT発表した際の資料です。
Atsushi Nakatsugawa
PRO
May 31, 2017
Tweet
Share
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AIで急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
62
AIによるコードレビューで 開発体験を向上させよう!
moongift
PRO
0
48
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
590
個人開発からエンプラまで。AIコードレビューで開発を楽しもう
moongift
PRO
0
420
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
1.6k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
880
リレーションからマーケティングへ。継続するDevRelのために行うべきこと
moongift
PRO
0
32
開発スピードとスキル向上を両立するAIコードレビューの活かし方
moongift
PRO
0
84
個人開発にAIレビューを導入しよう
moongift
PRO
0
74
Other Decks in Technology
See All in Technology
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
360
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
600
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
250
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
630
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
470
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
120
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Designing for Performance
lara
610
70k
The Invisible Side of Design
smashingmag
302
51k
BBQ
matthewcrist
89
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building Applications with DynamoDB
mza
96
6.9k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
98
Build your cross-platform service in a week with App Engine
jlugia
234
18k
We Are The Robots
honzajavorek
0
170
Making Projects Easy
brettharned
120
6.6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
86
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
͕͑ΔΜͩͬͯʂ