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

PHP Insights - リファクタリングが100倍楽しくなるツール -

akki
June 20, 2019
1k

PHP Insights - リファクタリングが100倍楽しくなるツール -

akki

June 20, 2019
Tweet

Transcript

  1. PHP Insights
    リファクタリングが
    100倍楽しくなるツール
    (当人比 )
    2019/06/19 秋葉誠一

    View Slide

  2. 自己紹介
    名前:秋葉 誠一
    生年月日:1993/12/17
    会社:株式会社ニジボックス
    趣味:スノボ、サバゲー、野球(NPB,MLB)

    View Slide

  3. Agenda
    ● PHP Insights とは?
    ● なにが楽しいの?
    ● まとめ

    View Slide

  4. この話しを聞いて、
    PHP Insightsを使ってみようとか
    リファクタしようかなって思ってくれたら
    嬉しいです

    View Slide

  5. View Slide

  6. リファクタする前にテストコードを書きましょう
    Oysters

    View Slide

  7. PHP Insights

    View Slide

  8. PHP Insights
    PHPコードの品質を分析してくれる静的解析ツール
    Laravel、Symfony、Yii、WordPress、Magento2
    で使えるように作られています

    View Slide

  9. PHP Insights
    コードの信頼性
    単純さ
    アーキテクチャ
    コーディングスタイル
    使ってるライブラリのセキュリティチェック

    View Slide

  10. PHP Insights
    作者:Nuno Maduro
    Laravelの開発者の1人
    Larastanの作者

    View Slide

  11. View Slide

  12. View Slide

  13. PHP Insights
    Forbidden public property
    Do not use public properties. Use method
    access instead

    View Slide

  14. PHP Insights
    Forbidden public property:
    Do not use public properties. Use method
    access instead
    プロパティがPublicになってるから、カプセル化して

    View Slide

  15. PHP Insights
    Max nesting level

    View Slide

  16. PHP Insights
    Max nesting level
    ネストしすぎ

    View Slide

  17. PHP Insights
    Having `classes` with more than 5
    cyclomatic complexity is prohibited -
    Consider refactoring:

    View Slide

  18. PHP Insights
    Having `classes` with more than 5
    cyclomatic complexity is prohibited -
    Consider refactoring:
    循環的複雑度(条件分岐やループ多さ)が高いので
    リファクタリングを検討して

    View Slide

  19. 本題

    View Slide

  20. PHP Insights
    リファクタリングが
    100倍楽しくなるツール
    (当人比 )
    2019/06/19 秋葉誠一

    View Slide

  21. なにが楽しいの?

    View Slide

  22. リファクタリングどうやってます?

    View Slide

  23. 今の自分の場合はガッツリ、一気にというよりは、
    ボーイスカウト精神で徐々に
    まぁ結構場当たり的にやっとります

    View Slide

  24. 大事だけど、孤独な戦い

    View Slide

  25. PHP Insights 使うとなにが楽しいのか?

    View Slide

  26. View Slide

  27. 点数がでる

    View Slide

  28. View Slide

  29. 改善のためのアドバイスをくれる

    View Slide

  30. 直す

    View Slide

  31. 点数が上がる

    View Slide

  32. たのしーーーーー

    View Slide

  33. 楽しいには理由がある
    ● 成果の可視化
    ● 目標設定
    ● 具体的な指摘

    View Slide

  34. 楽しいには理由がある
    ● 成果の可視化
    ● 目標設定
    ● 具体的な指摘

    View Slide

  35. 楽しいには理由がある
    ● 成果の可視化
    ● 目標設定
    ● 具体的な指摘

    View Slide

  36. 楽しいには理由がある
    ● 成果の可視化
    ● 目標設定
    ● 具体的な指摘

    View Slide

  37. やればやるほど点数が上がる
    楽しいから続けられる

    View Slide

  38. まとめ

    View Slide

  39. ● 解析ツール自体使ったことなかったので、’あっすげ’
    ● 成果の可視化はモチベーションUP
    ● いいコードを書く勉強になる
    感想

    View Slide

  40. 良いコードにはなると思うが
    点数を上げるのが目的ではない
    指摘が絶対的に正解とは限らない
    戒め

    View Slide

  41. 7/13(土曜) 7/14(日曜)
    満員御礼
    次回ぜひ
    まだ枠あるよ

    View Slide