SlideShare a Scribd company logo
Scrutinizerで始める
静的解析
@Hiraku
自己紹介
• 中野 拓
• https://twitter.com/Hiraku
• http://blog.tojiru.net/
• https://github.com/hirak
• 最近昔のコードを書きなおして
GitHubに上げなおしてる。
• フレームワーク論争に疲れました
コードの品質を高める工夫、
してますか?
二つの潮流
品質の高い
コード
実行して試す
• テスト
• ドッグフーディング
実行せず読む
• インスペクション
• コードレビュー
Scrutinizer(すくりゅーてぃないざー)
• https://scrutinizer-ci.com/
• コードの静的解析サービス
• インスペクション特化型Travis-CI
• レポートの見た目がカッコいい
Code ClimateのPHP版
と言えば分かるかも?
• Code ClimateはRubyとJavaScriptのみ。
• ScrutinizerはPHPとJavaScriptのみ。
できること
• 全自動コードレビュー
• バグっぽいところの検出
• 循環度や依存度の警告
• 修正内容の提案(パッチ自動作成)
• 品質に点数をつけてくれる
• 他のOSSと比較して優越感にひたる
• カバレッジをGitHubバッジにしてくれる
• Coveralls的な機能
Scrutinizerの長所
• Travis-CIやJenkinsでもOSSを組み合わせれば実行できるが…
• CodeSnifferとかpdependとかMess DetectorとかCPDとか
• 結構面倒くさい
• ほとんどセットアップせずに使えて、レポートがカッコいい
• PHP Analyzerという独自解析ツール
• publicリポジトリなら無料で使える
• privateリポジトリは有償プランで
PHPライブラリ作成を支えるサービス
• Composer (依存管理)
• Packagist (中央リポジトリ)
• Poser (packagistのバッジサービス)
• VersionEye (依存パッケージのバージョンアップに追随してい
るかチェック)
• Travis-CI (Jenkinsよりお手軽)
• Scrutinizer-CI (静的解析だけならTravisよりお手軽)
バッジをREADME.mdに貼りましょう
• https://github.com/Ocramius/ProxyManager/blob/master/RE
ADME.md
両側から攻めて、
クリーンなコードを目指せ!!
品質の高い
コード
実行して試す
• テスト
• ドッグフーディング
実行せず読む
• インスペクション
• コードレビュー

More Related Content

Scrutinizer CIでPHPも静的解析 #phpstudy