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

[社内LT]コード設計の時にぼくが考えている理想と現実の折り合い

きりみん
September 01, 2017

 [社内LT]コード設計の時にぼくが考えている理想と現実の折り合い

AnyPay社内LT会用資料です。

きりみん

September 01, 2017
Tweet

More Decks by きりみん

Other Decks in Programming

Transcript

  1. ίʔυઃܭͷ࣌ʹ ΅͕͘ߟ͍͑ͯΔ ཧ૝ͱݱ࣮ͷ ંΓ߹͍ @kirimin

  2. ઃܭͷ࿩͕޷͖Ͱ͢ ɾ͜͜Ͱ࿩͢ઃܭͱ͸ ɹˠओʹΫϥεߏ੒΍࣮૷ํ਑ͷࣄ

  3. ઃܭͷཧ૝ͱݱ࣮

  4. ͔ͬ͜Αͦ͞͏ͳઃܭ • ਖ਼͍͠੹຿෼͚ɺΫϥεͷࡉ෼Խ • ந৅ԽɺܧঝʹΑΔॏෳίʔυͷഉআ • ෳࡶͳॲཧͷӅṭ • σβΠϯύλʔϯͷར༻

  5. Α͋͘Δࣦഊ • ڞ௨Խ͗ͯ͢͠ྫ֎έʔεʹରԠग़དྷͳ͍ɺӨڹൣғ͕෼͔Γ ʹ͍͘ • ৑௕Խ͗ͯ͢͠؆୯ͳػೳͷ࣮૷ʹ޻਺ֻ͕͔Γ͗͢Δ • ߏ଄͕ෳࡶա͗ͯίʔυ͕௥͑ͳ͍ɺࣗ෼͔͠ϝϯςग़དྷͳ͍ • ࢥ૝తʹ͸ਖ਼ͦ͠͏͚ͩͲԿͷϝϦοτ͕͋Δͷ͔Α͘෼͔Β

    ͳ͍ • ૣ͗͢Δ࠷దԽɻա৒ͳύϑΥʔϚϯενϡʔχϯά
  6. ઃܭ͸ҙຯ͕ͳ͍ʁ • ʮશ෦Activity(ViewController)ʹॻ͍ͨํ͕ૣ͍ ͠෼͔Γ΍͍͢͡ΌΜʯ •

  7. ઃܭ͕ͳ͍ͷ΋ਏ͍ • ਺ઍߦͷΫϥε • େྔͷॏෳίʔυ • ਂ͗͢Δωετɺཧղग़དྷͳ͍ϩδοΫ • ࣮૷ํ๏͕όϥόϥɻ༧ଌग़དྷͳ͍Ϋϥεͷґଘؔ ܎ɺॲཧͷهड़৔ॴ

    • ͲΜͲΜεϐʔυͱ඼࣭͕མͪͯΏ͘
  8. Ͳ͏͢Ε͹ ޾ͤʹͳΕΔͷ͔ʁ

  9. ԿͷͨΊͷઃܭ͔ʁ Λৗʹҙࣝ͢Δ

  10. ͦͷઃܭʹม͑ΔͱԿ͕خ͍͠ Μ͚ͩͬʁ • ΋ͬͱཧղ͠΍͍͢ίʔυʹ͢ΔͨΊ • ΋ͬͱϝϯς͠΍͍͢ίʔυʹ͢ΔͨΊ • ΋ͬͱόάΛੜΈʹ͍͘ίʔυʹ͢ΔͨΊ • ΋ͬͱςετ͕ॻ͖΍͍͢ίʔυʹ͢ΔͨΊ

    • ΋ͬͱ࣮૷͕ૣ͘ͳΔίʔυʹ͢ΔͨΊ
  11. ՝୊ͱղܾ͢ΔͨΊͷઃܭͷྫ • UIϩδοΫͷςετ্͕ख͘ॻ͚ͳ͍ ɹɹ→MVPઃܭͰView΍σʔλΞΫηε͔ΒUIϩδοΫΛ੾Γ཭ͯ͠Ϣχοτ ςετΛॻ͖΍͘͢͢Δ • Activity͕ංେԽ͗ͯ͢͠มߋίετ͕ߴ͍ ɹ→σʔλ΍ϩδοΫΛϞσϧʹ੾Γग़͢ɻϨΠϠʔΛ෼͚σʔλΞΫηε΍ ωοτϫʔΫ௨৴Λ੾Γग़͢ •

    UtilΫϥεʹ৭ʑศརϝιου͕࣮૷͞ΕͯΔ͚Ͳؾ෇͔ͳ͍ ɹ→σʔλͱϩδοΫΛ͍ۙ৔ॴʹॻ͍ͯΈΔɻUtilϝιουΛద੾ͳ୯ҐͰΫ ϥε෼͚ͯ͠෼͔Γ΍໊͍͢લΛ෇͚Δ
  12. γϯϓϧ͞ɾ࣮༻ੑͱ ͔ͬ͜Α͞Λఱṝʹ͔͚Δ ಉ͡Α͏ͳίʔυ͔ͩΒઈରʹڞ௨Խͨ͠ํ͕͍͍ ͦͷํ͕ΠέͯΔઃܭͬΆ͍͔ΒܧঝΛར༻͢Δ ྲྀߦΓͷϥΠϒϥϦ͔ͩΒɺϞμϯͳه๏͔ͩΒଟ༻͢Δ ྲྀߦΓͷΞʔΩςΫνϟ͔ͩΒಋೖ͢Δ ෆඞཁͳෳࡶ͞Λආ͚Δ

  13. ղܾ͍ͨ͠՝୊͕ͳ͚Ε͹ ίʔυ͸ग़དྷΔ͚ͩγϯϓϧͳํ͕͍͍ • γϯϓϧͳίʔυ͸ཧղ͠΍͍͢ • γϯϓϧͳίʔυ͸มߋ͠΍͍͢ • γϯϓϧͳίʔυ͸όάΛੜΈʹ͍͘

  14. Keep it simple