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

リファクタリングのススメ

yKazihara
June 24, 2017

 リファクタリングのススメ

2017/06/24のKANJAVA PARTY 2017!!!で発表したLT資料です。

yKazihara

June 24, 2017
Tweet

More Decks by yKazihara

Other Decks in Education

Transcript

  1. リファクタリングのススメ
    らん(@run51502)(๑و˙o˙)و
    2017/06/24

    View full-size slide

  2. 自己紹介
     名前:らん(@run51502)
     京都生まれ、大阪在住
     業界12年目の遅咲きSE
     歌えるSE目指してボイストレーニングに励む
     ポケモンGO:レベル39(資料作成時点)
     はねろ!コイキング:ランク63(資料作成時点)

    View full-size slide

  3. リファクタリングとは?
     ソフトウェアを理解しやすく、変更を容易に
    する為に行うもの
     外的振る舞いは既存を保つこと
    リファクタリングの利点とは?
     ソースの構造理解ができる

    View full-size slide

  4. リファクタリングはいつ行う?
    どんな風に?
     本番リリース後、手が空いたら
     機能追加時
     コードレビュー時に検討してみる
     3度目の正直

    View full-size slide

  5. 対象となる例:
     エビ
    if (a1 == true) {
    if (a2 == false) {
    if (a3 == true) {
    if (a4 == false) {
    if (a5 == true) {
    if (a6 == true) {
    return;
    }
    }
    }
    }
    }
    }

    View full-size slide

  6. 対象となる例:
     君(変数)の名は
    オブジェクト1:「もしかして私たち・・・」
    オブジェクト2:「もしかして俺たち・・・」
    「「入れ替わってる〜!?!?!?」」
     マトリョーシカ

    View full-size slide

  7.  詰め放題セール
    対象となる例:
     名家の家系図

    View full-size slide

  8. 対象となる例:
     覚えられない呪文
    その他:
    世界一周の旅(クラス渡り歩き)
    遠距離恋愛(変数の宣言と値設定が離れている)
    などなど・・・

    View full-size slide

  9. 最後に
     リファクタリング前にテスト作成
     やめる勇気を持とう
     ペアプロで検討してみよう
    常にリファクタリングを意識して、
    良いコードを育てよう!

    View full-size slide