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

4年の開発が積み重なったアプリへのリファクタリング手法

Jun Ikeda
March 12, 2018

 4年の開発が積み重なったアプリへのリファクタリング手法

Jun Ikeda

March 12, 2018
Tweet

Other Decks in Technology

Transcript

  1. ؍࡯ɿγεςϜΛ஌Δ w ϩʔΧϧ%#΁ͷΩϟογϡ w هࣄछผͷ஌͕ࣝଟ͍
 ΧςΰϦɾτϐοΫεɾ߸֎  w #''͸ͳ͘ɺෳ਺ͷ"1*Λୟ͍ ͯͭͷϦετΛ࡞Δ͜ͱ΋ඞ

    ཁ γεςϜͷಛੑ w σʔλऔಘઌΛந৅Խ͍ͨ͠ w ಛఆൣғͷؔ৺ࣄΛՕॴʹू ໿͍ͨ͠ w ෳ਺ͷ"1*͔ΒඇಉظͰऔಘɺ ଴ͪ߹Θͤɺ૊Έ߹Θͤ
 ղܾ͍ͨ͜͠ͱ 10
  2. w ΞϓϦʹݶΒͣ
 χϡʔεαʔϏεͷ஌͕ࣝ๛෋ w 7JFXपΓͷ࣮૷͕ಘҙ w 3Y+BWB΍%*ͷܦݧ͸
 ͋·Γͳͦ͞͏ ؍࡯ɿνʔϜΛ஌Δ w

    ੹຿ͷڥք͸ਓʹ൑அ
 ͯ͠΋Β͓͏ w ະܦݧͷٕज़Λͨ͘͞Μಋೖ
 ͢Δͷ͸ֶशίετߴ͍ 11
  3. ܾΊͨཧ༝ΛυΩϡϝϯτʹ࢒͢ w ໨ࢦ͍ͯ͠Δ͜ͱ w αʔϏεͷಛੑ w ղܾ͍ͨ͜͠ͱ w ΞʔΩςΫνϟͷ֓ཁ w

    ࣮૷ͷͨΊͷϥΠϒϥϦͨͪ w ύοέʔδߏ੒ w ଥڠͨ͠఺ w ࠾༻Λݟૹͬͨ΋ͷʢͱͦͷཧ༝ʣϦετ w ࢀߟʹͨ͠ॻ੶΍8FCϖʔδ ͳͥ͜͏ͳͬͯΔʁΛઆ໌
 Ͱ͖Δ ٕज़ͷਐาʹ߹Θͤͯɺ
 ܧଓతʹมߋͰ͖ΔΑ͏ʹ͢ Δ 16
  4. 7JFX w 7JFX.PEFM͔ΒྲྀΕ͖ͯͨσʔλʹ൓ Ԡ͢Δ͚ͩɺϩδοΫΛ࣋ͨͳ͍ w JG จࣈྻ͕ۭ ͷΑ͏ͳ൑ఆϩδοΫΛ ॻ͍ͪΌͩΊ w

    "DUJWJUZ$POUFYU͸7JFX૚͚ͩͰ࢖͏ɺ 7JFX૚Ҏ֎͸"QQMJDBUJPO$POUFYU 3FQPTJUPSZ %PNBJO 7JFX.PEFM 7JFX 22
  5. ίʔυ੔ཧͷεςοϓ 7JFX 26 ϩδοΫ" 7JFX 7JFX w 7JFXʹϩδοΫ͕
 ॻ͔Ε͍ͯΔঢ়ଶ w

    ಉ͡ϩδοΫ͕ෳ਺ͷը໘ ʹॏෳ͍ͯ͠Δ ϩδοΫ" ϩδοΫ" ϩδοΫ$ ϩδοΫ# ϩδοΫ#
  6. 7JFX 27 w ੔ཧͯ͠%PNBJOʹ
 ϩδοΫΛҠಈ %PNBJO %PNBJO 7JFX 7JFX ϩδοΫ$

    ϩδοΫ" ϩδοΫ" ϩδοΫ# ϩδοΫ" ϩδοΫ# ίʔυ੔ཧͷεςοϓ
  7. ৽7JFX 27 w ੔ཧͯ͠%PNBJOʹ
 ϩδοΫΛҠಈ %PNBJO %PNBJO 7JFX 7JFX ϩδοΫ$

    ϩδοΫ" ϩδοΫ" ϩδοΫ# ϩδοΫ" ϩδοΫ# ίʔυ੔ཧͷεςοϓ w ͭͷը໘ͷ7JFXΛ
 ॻ͖׵͑Δ
  8. ϩδοΫ" ϩδοΫ" ϩδοΫ# ৽7JFX 28 7JFX ϩδοΫ$ %PNBJO %PNBJO ϩδοΫ"

    ϩδοΫ# ίʔυ੔ཧͷεςοϓ w ผͷը໘΋%PNBJOʹҠಈ ͨ͠ϩδοΫΛ࢖͏Α͏ʹ ͢Δ 7JFX
  9. ৽7JFX 28 w 7JFX૚ͷίʔυ͕ݮΔ 7JFX ϩδοΫ$ %PNBJO %PNBJO ϩδοΫ" ϩδοΫ#

    ίʔυ੔ཧͷεςοϓ w ผͷը໘΋%PNBJOʹҠಈ ͨ͠ϩδοΫΛ࢖͏Α͏ʹ ͢Δ 7JFX
  10. ৽7JFX 29 w ը໘୯ҐͰϦϑΝΫλΛ׬ ྃͤ͞ɺશମͷஔ͖׵͑Λ ໨ࢦ͢ %PNBJO %PNBJO ϩδοΫ" ϩδοΫ#

    ৽7JFX 7JFX ϩδοΫ$ ίʔυ੔ཧͷεςοϓ w ίʔυ͕ݮͬͨ7JFXΛ
 ॻ͖׵͑Δ
  11. σʔλͷྲྀΕ %PNBJO4FSWJDF ஋ΦϒδΣΫτ 7JFX.PEFM 7JFX 3FQPTJUPSZ 3Y+BWB4USFBN ؔ਺ݺͼग़͠ w 3Y+BWBͷ4USFBNΛ4VCTDSJCF


    ͢Δͷ͸7JFX૚ͷΈʹ੍ݶ w 4VCKFDU 1SPDFTTPS ͸࢖Θͳ͍ 3Y+BWBͷར༻ϧʔϧΛઃ͚ɺ ֶशίετ௿Լϝϯςφϯεੑ ޲্Λ໨ࢦ͢ 31