Submit Search
Upload
Scrutinizer CIでPHPも静的解析 #phpstudy
•
13 likes
•
9,179 views
Hiraku Nakano
Follow
第78回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper http://phpstudy.doorkeeper.jp/events/11523 で話した内容です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 11
Download now
Download to read offline
Recommended
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
Recommended
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
侑弥 濱田
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Web技術勉強会 20120609
Web技術勉強会 20120609
龍一 田中
H2O and php
H2O and php
Junichi Ishida
Play2 translate 20120714
Play2 translate 20120714
masahitojp
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
Hiroshi Toda
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Makoto Abe
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PyPy 紹介
PyPy 紹介
shoma h
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Tao Sasaki
Linux debug
Linux debug
Masami Ichikawa
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
More Related Content
What's hot
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
侑弥 濱田
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Web技術勉強会 20120609
Web技術勉強会 20120609
龍一 田中
H2O and php
H2O and php
Junichi Ishida
Play2 translate 20120714
Play2 translate 20120714
masahitojp
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
Hiroshi Toda
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Makoto Abe
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PyPy 紹介
PyPy 紹介
shoma h
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Tao Sasaki
Linux debug
Linux debug
Masami Ichikawa
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
What's hot
(20)
Kotlinにお触り
Kotlinにお触り
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
今日から始めるLaravel
今日から始めるLaravel
Web技術勉強会 20120609
Web技術勉強会 20120609
H2O and php
H2O and php
Play2 translate 20120714
Play2 translate 20120714
Frank-afcproxy
Frank-afcproxy
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
スクレイピングとPython
スクレイピングとPython
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
PyPy 紹介
PyPy 紹介
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Linux debug
Linux debug
Real World PHP in pixiv
Real World PHP in pixiv
Viewers also liked
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
Yusuke Ando
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Yusuke Ando
behatで始めるBDD
behatで始めるBDD
Tsutomu Chikuba
phpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
leverages_event
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
卓也 安東
為替と株の予測の話
為替と株の予測の話
Kentaro Imajo
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
晃 遠山
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
満徳 関
Viewers also liked
(13)
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
はじめての CircleCI
はじめての CircleCI
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
behatで始めるBDD
behatで始めるBDD
phpspecで始めるBDD
phpspecで始めるBDD
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
為替と株の予測の話
為替と株の予測の話
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
Similar to Scrutinizer CIでPHPも静的解析 #phpstudy
研究紹介スライド
研究紹介スライド
Norihito Kitagawa
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
Kazumi IWANAGA
シナリオレビューという手法の提案
シナリオレビューという手法の提案
tuna cook
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
中條 剛
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
新・ReVIEWパーサについて
新・ReVIEWパーサについて
masayoshi takahashi
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Kazumi IWANAGA
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
Kakigi Katuyuki
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Shoken Fujisaki
Type scriptmemo
Type scriptmemo
ytanno
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
akatsuki174
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
中條 剛
CotEditor Script
CotEditor Script
Kosuke Usami
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
慎平 仁藤
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Tsuubito Ishii
Similar to Scrutinizer CIでPHPも静的解析 #phpstudy
(20)
研究紹介スライド
研究紹介スライド
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
シナリオレビューという手法の提案
シナリオレビューという手法の提案
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
新・ReVIEWパーサについて
新・ReVIEWパーサについて
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Type scriptmemo
Type scriptmemo
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
CotEditor Script
CotEditor Script
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
More from Hiraku Nakano
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
JSON SchemaとPHP
JSON SchemaとPHP
Hiraku Nakano
こわくない同時実行制御
こわくない同時実行制御
Hiraku Nakano
pecl-AOPの紹介
pecl-AOPの紹介
Hiraku Nakano
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
Xml builderの紹介
Xml builderの紹介
Hiraku Nakano
More from Hiraku Nakano
(7)
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
JSON SchemaとPHP
JSON SchemaとPHP
こわくない同時実行制御
こわくない同時実行制御
pecl-AOPの紹介
pecl-AOPの紹介
URLで遊ぼう
URLで遊ぼう
Xml builderの紹介
Xml builderの紹介
Recently uploaded
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Recently uploaded
(10)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Scrutinizer CIでPHPも静的解析 #phpstudy
1.
Scrutinizerで始める 静的解析 @Hiraku
2.
自己紹介 • 中野 拓 •
https://twitter.com/Hiraku • http://blog.tojiru.net/ • https://github.com/hirak • 最近昔のコードを書きなおして GitHubに上げなおしてる。 • フレームワーク論争に疲れました
3.
コードの品質を高める工夫、 してますか?
4.
二つの潮流 品質の高い コード 実行して試す • テスト • ドッグフーディング 実行せず読む •
インスペクション • コードレビュー
5.
Scrutinizer(すくりゅーてぃないざー) • https://scrutinizer-ci.com/ • コードの静的解析サービス •
インスペクション特化型Travis-CI • レポートの見た目がカッコいい
6.
Code ClimateのPHP版 と言えば分かるかも? • Code
ClimateはRubyとJavaScriptのみ。 • ScrutinizerはPHPとJavaScriptのみ。
7.
できること • 全自動コードレビュー • バグっぽいところの検出 •
循環度や依存度の警告 • 修正内容の提案(パッチ自動作成) • 品質に点数をつけてくれる • 他のOSSと比較して優越感にひたる • カバレッジをGitHubバッジにしてくれる • Coveralls的な機能
8.
Scrutinizerの長所 • Travis-CIやJenkinsでもOSSを組み合わせれば実行できるが… • CodeSnifferとかpdependとかMess
DetectorとかCPDとか • 結構面倒くさい • ほとんどセットアップせずに使えて、レポートがカッコいい • PHP Analyzerという独自解析ツール • publicリポジトリなら無料で使える • privateリポジトリは有償プランで
9.
PHPライブラリ作成を支えるサービス • Composer (依存管理) •
Packagist (中央リポジトリ) • Poser (packagistのバッジサービス) • VersionEye (依存パッケージのバージョンアップに追随してい るかチェック) • Travis-CI (Jenkinsよりお手軽) • Scrutinizer-CI (静的解析だけならTravisよりお手軽)
10.
バッジをREADME.mdに貼りましょう • https://github.com/Ocramius/ProxyManager/blob/master/RE ADME.md
11.
両側から攻めて、 クリーンなコードを目指せ!! 品質の高い コード 実行して試す • テスト • ドッグフーディング 実行せず読む •
インスペクション • コードレビュー
Download now