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

Androidアプリの 安全なリファクタリングを行うパターン集

Androidアプリの 安全なリファクタリングを行うパターン集

DroidKaigi 2021 Day1
2021/10/19

HiroYUKI Seto

October 19, 2021
Tweet

More Decks by HiroYUKI Seto

Other Decks in Programming

Transcript

  1. ൺֱද  ϑϧεΫϥον ϦϑΝΫλϦϯά ޻਺ɾ։ൃ଎౓ ޻਺গ ։ൃ଎౓˓ ޻਺ଟ ։ൃ଎౓˚ ࢓༷ҡ࣋

    ˚ 
 ҙਤ͠ͳ͍σάϨΛ͢ΔՄೳੑ ˓ όά ΤϯόάͷՄೳੑ Τϯόά 
 طଘόάΛܧଓͷՄೳੑ ͦͷଞ ݱঢ়࢓༷Λ೺Ѳ͍ͯ͠ͳ͍ͱ೉ ࣮૷͠ͳ͕Β࢓༷೺Ѳ͔Մ
  2. w ֎෦ಈ࡞࢓༷Ϣʔβʔʹݟ͑Δಈ࡞ w ඇഁյతมߋ w ಺෦ಈ࡞ʹ΋Өڹ͕ͳ͍ϝιου΍Ϋϥεͷ੔ཧ w ഁյతมߋ w ಺෦ಈ࡞͸มΘ͕ͬͨ֎෦ಈ࡞࢓༷͸มΘ͍ͬͯͳ͍৔߹

    w ྫɿΞϧΰϦζϜมߋɺ+TPO1BSTFSมߋ w ಺෦ಈ࡞΋֎෦ಈ࡞࢓༷΋มΘΔ৔߹ w ྫɿ࢓༷มߋɺϥΠϑαΠΫϧมߋɺϝϞϦϦʔΫमਖ਼ ඇഁյతมߋഁյతมߋ 
  3. w ૝ఆ͍ͯ͠ͳ͍ഁյతมߋ w ϦϑϨΫγϣϯɺੜ੒ίʔυͷࢀর w ϥΠϒϥϦͷΞοϓσʔτ w $IBOHFMPHʹͳ͍मਖ਼ w ଞΞϓϦ΍'SBNFXPSLͱͷ࿈ܞ

    w ݕূ͕೉͍͠໰୊ w ϥΠϑαΠΫϧɺඇಉظॲཧ w ෳ߹తͳཁҼ ૝ఆ֎ͷݪҼ  ରࡦ͸೉͍͠
  4. w ݕূΛखް͘΍Ε͹໰୊͸ग़ʹ͘͘ͳΔ w 㱻ݕূϦιʔε͕ඞཁʹͳΔ w ഁյతมߋʹΑͬͯಈ࡞͕յΕ͍ͯΔ w ඇഁյతมߋͰ͸ಈ࡞͸มΘΒͳ͍ w ݕূΛബͯ͘͠΋໰୊͸ग़ʹ͍͘͸ͣ

    w ഁյతมߋΛݕূ͢Ε͹໰୊͕ݟ͔ͭΓ΍͍͢͸ͣ w ಺෦ಈ࡞͕ҙਤͨ͠௨Γ w ֎෦ಈ࡞࢓༷͕ҙਤͨ͠௨Γ ݪҼ෼ੳͱରࡦ 
  5. w ಺෦࣮૷ w εΫϥον։ൃ w ΞϧΰϦζϜมߋ w ґଘϥΠϒϥϦมߋ w +BWBˠ,PUMJOͷOVMMBCJMJUZ

    w ֎෦ಈ࡞࢓༷ w "OESPJEͷϥΠϑαΠΫϧมߋ w ΞϓϦͷ࢓༷ ✅Ͳ͕͜ഁյతมߋ͔ 
  6. w ಺෦ಈ࡞͸มΘ͕ͬͨ֎෦ಈ࡞࢓༷͸มΘ͍ͬͯͳ͍৔߹ w มߋલͱมߋޙͷಈ࡞͕ಉҰͰ͋Δ͜ͱͷݕূ w ಺෦ಈ࡞΋֎෦ಈ࡞࢓༷΋มΘΔ৔߹ w ҙਤ௨Γಈ͘͜ͱͷݕূ w ݕূํ๏

    w ࣗಈςετ 6OJU5FTUɺ6*5FTUɺ7JTVBM3FHSFTTJPO5FTU  w खಈςετͰͷݕূɺ2"Ͱͷݕূ w શͯͷมߋΛݕূ͢Δͷ͸ෆՄ ✅ഁյతมߋʹݕূํ๏͕͋Δ͔ 
  7. αϯϓϧίʔυ  ελʔτ ΰʔϧ ΞʔΩςΫνϟ .7$ .77. 
 3FDPNNFOEFE"QQ"SDI 7JFXૢ࡞

    "DUJWJUZͰૢ࡞ %BUB#JOEJOH ""$7JFX.PEFM -JWF%BUB ௨৴ॲཧ "DUJWJUZʹ΂ͨॻ͖ 3FNPUF%BUBTPVSDF ඇಉظॲཧ "TZOD5BTL %FQSFDBUFE $PSPVUJOF
  8. ϒϥοΫϘοΫεͷ௚͠ํ  ϒϥοΫϘοΫε ݺͼग़͠ ݁Ռ 8SBQQFSΫϥε ݺͼग़͠ ݺͼग़͠ ݁Ռ ݁Ռ

    ςετͰอূ ςετ ݺͼग़͠ ݁Ռ ྑ͍࣮૷ ݺͼग़͠ ݁Ռ "OESPJEςετશॻ1/FUXPSL6UJMTͷྫ
  9. 4UFQ-JWF%BUBͷಋೖ  'SBHNFOU 7JFX.PEFM 3FQPTJUPSZ 3FNPUF%BUB4PVSDF 8FCTFSWJDF -JWF%BUB #FGPSF "GUFS

    3FQPTJUPSZ 8FCTFSWJDF 'SBHNFOU "TZOD5BTL 3FNPUF%BUB4PVSDF 7JFX.PEFM "TZOD5BTL
  10. w ֎෦ಈ࡞࢓༷΋มΘΔഁյతมߋ w PO4UBSUͱPO4UPQͷ͔ؒ͠6*͕൓ө͞Εͳ͍ w ݕূͷ௥Ճ w 6OJUςετ w -JWF%BUBʹ஋͕ೖ͍ͬͯΔ͜ͱͷ֬ೝ

    w ഁյతมߋͷݕূ w खಈ֬ೝ w ࣗಈςετ͕೉͍͠ϥΠϑαΠΫϧؔ࿈ 4UFQ-JWF%BUBͷಋೖ 
  11. 4UFQ$PSPVUJOFԽ  #FGPSF "GUFS 'SBHNFOU 7JFX.PEFM 3FQPTJUPSZ 3FNPUF%BUB4PVSDF 8FCTFSWJDF -JWF%BUB

    'SBHNFOU 7JFX.PEFM 3FQPTJUPSZ 3FNPUF%BUB4PVSDF 8FCTFSWJDF -JWF%BUB "TZOD5BTL
  12. w ֎෦࢓༷΋มΘΔഁյతมߋ w "TZOD5BTLˠ$PSPVUJOFͰඇಉظॲཧ͕ࠜຊ͔ΒมΘΔ w 7JFX.PEFMPO$MFBS 'SBHNFOUPO%FTUSPZ Ͱඇಉظॲཧऴྃ w "TZOD5BTL࣌୅ͷϝϞϦϦʔΫमਖ਼

    w ഁյతมߋͷݕূ w "TZOD5BTLΛ$PSPVUJOFʹஔ͖׵͑ͯ6OJU5FTU͕௨Δ͜ͱ w खಈςετϥΠϑαΠΫϧ PO%FTUSPZ 4UFQ$PSPVUJOFԽ