Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プロダクトコードの複雑さを計測せよ〜5分ではじめるPhpMetrics活用リファクタリング〜

ことみん / kotomin_m
February 22, 2025
83

 プロダクトコードの複雑さを計測せよ〜5分ではじめるPhpMetrics活用リファクタリング〜

PHPカンファレンス名古屋2025

2025/02/22 17:05〜
ルーム カルテット
LT(5分)

https://fortee.jp/phpcon-nagoya-2025/proposal/87063a13-c148-4090-8d85-c57ca0d91788

ことみん / kotomin_m

February 22, 2025
Tweet

More Decks by ことみん / kotomin_m

Transcript

  1. X : @kotomin_m #phpcon_nagoya 1. PhpMetrics とは? 2. メトリクスってどうやって出してるの? 3.

    リファクタリングに活用した事例 4. 今後の展望・締め 残り4分15秒で
  2. X : @kotomin_m #phpcon_nagoya $ composer global require 'phpmetrics/phpmetrics' $

    php ./vendor/bin/phpmetrics --report-html=myreport <folder-to-analyze> コマンド2回打つだけ
  3. X : @kotomin_m #phpcon_nagoya コマンド2回打つだけ 簡単でうれしい! $ composer global require

    'phpmetrics/phpmetrics' $ php ./vendor/bin/phpmetrics --report-html=myreport <folder-to-analyze>
  4. X : @kotomin_m #phpcon_nagoya メトリクスの計算式 演算子 オペランド 算術演算子 +, -

    比較演算子 >, == etc…… 変数 $a, $hoge 配列 $array[0] 関数名 etc……
  5. X : @kotomin_m #phpcon_nagoya メトリクスの計算式 •     と      の、 個数 と 種類数 を使って、それぞれ計算

    演算子 オペランド n1 演算子の種類数 n2 オペランドの種類数 N1 演算子の個数 N2 オペランドの個数
  6. X : @kotomin_m #phpcon_nagoya バグ指数を比較 0.52 0.52 0.54 0.4 0.23

    0.15 0.51 0.06 0.36 4.26 Before After 1クラス 9クラス