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

技術的負債へ向き合う ~開発速度をいかに向上させるか~

技術的負債へ向き合う ~開発速度をいかに向上させるか~

設計パターンをMVVMからFluxに変更し、開発速度を向上させた話です。

63b77df425b26126961817a39969a660?s=128

Takeshi Akutsu

October 28, 2020
Tweet

Transcript

  1. ٕज़తෛ࠴΁޲͖߹͏ d։ൃ଎౓Λ͍͔ʹ޲্ͤ͞Δ͔d גࣜձࣾλΠϛʔ Ѩٱ௡ַࢤ

  2. None
  3. ࠓ೔ͷྲྀΕ ٕज़తෛ࠴ͱ͸ ٕज़తෛ࠴ͱ͸ ͦͷ݁Ռੜ͡Δ໰୊ λΠϛʔͰ͸ͲͷΑ͏ʹରԠ͔ͨ͠ ։ൃ଎౓ͷվળ ෆ۩߹Λى͜͞ͳ͍ͨΊʹ͸ ·ͱΊ

  4. ٕज़తෛ࠴ͱ͸ ΢ΟΩϖσΟΞ ٕज़తෛ࠴ʢӳ5FDIOJDBMEFCUʣͱ͸ɺߦ͖౰ͨΓ ͹ͬͨΓͳιϑτ΢ΣΞΞʔΩςΫνϟͱɺ༨༟ͷͳ͍ιϑ τ΢ΣΞ։ൃ͕Ҿ͖ى݁͜͢Ռͷ͜ͱΛࢦ͢৽͍͠ൺᄻͰ͋ Δɻʮઃܭ্ͷෛ࠴ EFTJHOEFCU ʯͱ΋ݴ͏ɻ

  5. ٕज़తෛ࠴ͱ͸ ΢ΥʔυɾΧχϯΨϜ 4IJQQJOHpSTUUJNFDPEFJTMJLFHPJOHJOUPEFCU ʢ࠷ॳͷίʔυΛग़ՙ͢Δ͜ͱ͸ɺआۚΛ͠ʹߦ͘ͷͱಉ͡Ͱ͋Δɻʣ

  6. ٕज़తෛ࠴ͱ͸ ͭ·Γʜ ෛ࠴͸ɺ༨༟ͷͳ͍։ൃʹΑͬͯੜΈग़͞ΕΔ΋ͷͰ͋Γɺ αʔϏεΛ։ൃ্͍ͯ͘͠Ͱආ͚Δ͜ͱ͸ग़དྷͳ͍ɻ

  7. ٕज़తෛ࠴ͱ͸ ͦͷ΄͔ʹ΋༷ʑͳݪҼ͕͋Δ ͦͷ࣌ͦͷ࣌Ͱͷ։ൃνʔϜɾ؀ڥͷมԽ ݴޠ࢓༷ɾ։ൃ؀ڥͷΞοϓσʔτ ϝϯόʔͷεΩϧ্ঢʢʹΑΓաڈͷίʔυ͕ෛ࠴ʹײ͡Δʣ ͳͲʜ

  8. ٕज़తෛ࠴ͱ͸ ٕज़తෛ࠴ʹΑͬͯੜ͡Δ໰୊ ։ൃ଎౓ͷ௿Լ ෆ۩߹͕ൃੜ͠΍͘͢ͳΔ

  9. λΠϛʔͰ͸ ٕज़తෛ࠴ʹΑΓ ʮ։ൃ଎౓͕௿Լ͢Δʯ ʮෆ۩߹͕ൃੜ͠΍͘͢ͳΔʯ ͱݴ͏໰୊ʹͲ͏ରԠͨ͠ͷ͔ɻ

  10. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ ઃܭΛݟ௚͢͜ͱͰվળͨ͠ .77.͔Β'MVY΁Ҡߦ·ͨ͠ɻ

  11. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ ۩ମతʹ͸Ͳ͏͍͏໰୊͕ى͍ͬͯͨ͜ͷ͔ ΑΓྑ͍6*69Λ௥ٻ͢ΔͨΊɺ ࡉ͔͍ɾܧଓతͳ7JFXͷվળ͕ߦΘΕ͍ͯΔɻ ͔͠͠ɺσβΠϯ্͸ࠣࡉͳมߋͩͱͯ͠΋ઃܭͷ౎߹্ɺ मਖ਼ʹ૝૾Ҏ্ͷ޻਺͕ൃੜ͢Δ͜ͱ͕ଟʑ͋ͬͨ

  12. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ มߋલ มߋޙ σβΠϯ͸มߋ͞Ε͍ͯΔ͕ɺ ϏδωεϩδοΫ͸Կ΋มΘ͍ͬͯͳ͍ɻ σβΠϯ্ͷมߋՕॴ͸  मਖ਼ཧ༝Λهೖ͢ΔλΠϛϯά͕มΘͬͨ  ʮۀ຿࣌ؒʯͱʮٳܜ࣌ؒʯΛೖྗ͢Δը໘

    ͕ผʑʹͳͬͨ ϩδοΫ͸ʜ ʮۀ຿։࢝࣌ؒɾऴྃ࣌ؒɺٳܜ࣌ؒɺमਖ਼ཧ༝ Λೖྗ͢Δʯͱݴ͏ߦҝ͸มΘΒͳ͍
  13. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ .77.࣌୅ ̍ը໘ʹ͖ͭɺͭͷ7JFX.PEFMΛ࣋ͭͱݴ͏ํ਑Ͱ։ൃ͍ͯͨ͠

  14. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ .77.࣌୅ͷͭΒΈᶃ ֤ը໘͝ͱʹϩδοΫΛ͍࣋ͬͯΔͨΊɺͭͷը໘ͰߦΘΕ͍ͯͨॲཧ ͕σβΠϯͷมߋʹΑΓଞͷը໘ͰߦΘΕΔΑ͏ʹͳΔͱɺϩδοΫ· Ͱमਖ਼ΛՃ͑Δඞཁ͕ग़ͯ͘Δɻ ʢ7JFXͷมߋͳͷʹɺϩδοΫΛमਖ਼͠ͳ͍ͱ͍͚ͳ͍ͷ͸ਏ͍ ʣ ྫٳܜ࣌ؒͷೖྗ͕ผͷը໘ͰߦΘΕΔΑ͏ʹͳͬͨ

  15. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ .77.࣌୅ͷͭΒΈᶄ ෳ਺ͷը໘ʹ·͕ͨͬͯॲཧ͕ߦΘΕͨ࣌ɺ ը໘ؒͷ஋ͷड͚౉͕͠ਏ͍

  16. ʮ։ൃ଎౓ͷ௿Լʯͱ͍͏໰୊ 'MVY࣌୅ ֤ػೳ͝ͱʹϩδοΫΛ؅ཧ͢ΔΑ͏ʹͳͬͨ ը໘͕෼ׂ͞ΕΑ͏͕ϩδοΫͷमਖ਼͸ෆཁ  ڞ௨ͷ4UPSFΛͭอ࣋͢Δ͚ͩͰࡁΉͷͰɺෳ਺ͷը໘ʹ·ͨ ͕ͬͨॲཧ΋؆୯

  17. ʮෆ۩߹Λ๷͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ ద੾ͳ୯ҐͰϞδϡʔϧ෼ׂΛߦ͍ͬͯΔ खಈͰ2"͠ʹ͍͘৔ॴʹ͸ςετΛపఈ

  18. ʮෆ۩߹Λ๷͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ ᶃద੾ͳ୯ҐͰϞδϡʔϧ෼ׂΛߦ͏ ॲཧ͸DMBTT಺Ͱด͡ΔΑ͏ʹ ద੾ͳ୯ҐʹDMBTTΛ੾Γ෼͚Δ ֤ػೳΛ'SBNFXPSLʹ੾Γ෼͚Δ

  19. ʮෆ۩߹Λ๷͙ʯͨΊʹߦ͍ͬͯΔ͜ͱ ᶄखಈͰ2"͠ʹ͍͘Օॴʹ͸ςετΛॻ͘ શͯΛςετͰ୲อͰ͖͍ͯΔΘ͚Ͱ͸ͳ͍ खಈͰͷ2"͕ࠔ೉ͳՕॴΛத৺ʹςετΛॻ͍͍ͯΔ ʢىಈपΓɺཁૉͷpMUFSTPSUɺ֤छঢ়ଶʣ ܕ΋͋Δछͷςετ ςετ͕͋Δͱ͸͍͑ɺಡΈ΍͍͢ίʔυ͸ৗʹҙࣝ

  20. ·ͱΊ ᶃద੾ͳઃܭύλʔϯΛ࠾༻͢Δ͜ͱͰ։ൃ଎౓Λ޲্͢ Δ͜ͱ͕Ͱ͖ͨ ᶄద੾ͳ୯ҐͰϞδϡʔϧ෼ׂΛ͢Δ͜ͱͰෆ۩߹Λ๷͍ Ͱ͍Δ ᶅखಈͰ2"͠ʹ͍͘৔ॴ͸ɺపఈతʹςετΛॻ͘

  21. ऴΘΓʹʜ ٕज़తͳෛ࠴͕θϩʹͳΔ͜ͱ͸ͳ͍ͱࢥ͍·͢ɻ ʮෛ࠴ʯʹෛ࠴ΛॏͶΔ͜ͱ͸ͤͣɺ ͜·ΊͳϦϑΝΫλϦϯάΛ͍ͯ͘͜͠ͱ͕ ԿΑΓେ੾ͳͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ