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

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

akki
June 20, 2019
1.3k

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

akki

June 20, 2019
Tweet

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  6. PHP Insights

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. PHP Insights
    Max nesting level

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. なにが楽しいの?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  22. 点数がでる

    View full-size slide

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

    View full-size slide

  24. 点数が上がる

    View full-size slide

  25. たのしーーーーー

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide