Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[社内LT]コード設計の時にぼくが考えている理想と現実の折り合い
Search
きりみん
September 01, 2017
Programming
1
130
[社内LT]コード設計の時にぼくが考えている理想と現実の折り合い
AnyPay社内LT会用資料です。
きりみん
September 01, 2017
Tweet
Share
More Decks by きりみん
See All by きりみん
AndroidエンジニアがRailsにチャレンジしてる理由
kirimin
1
1.5k
What are AtCoder and competitive programming
kirimin
0
9.9k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.4k
Watashi ni Kotlin ga maiorita
kirimin
0
520
NEMのAPIとモザイクであそぼう
kirimin
0
370
はじめようきれいなコード
kirimin
8
3k
Material Components for Android触ってみる
kirimin
7
1.9k
[社内LT]あたらしいMaterial Design
kirimin
1
1.7k
Other Decks in Programming
See All in Programming
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
170
SwiftUI Viewの責務分離
elmetal
PRO
2
250
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
130
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
8
2.4k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
時計仕掛けのCompose
mkeeda
1
310
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
760
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
4
880
sappoRo.R #12 初心者セッション
kosugitti
0
260
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
React 19アップデートのために必要なこと
uhyo
5
730
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
GitHub's CSS Performance
jonrohan
1030
460k
We Have a Design System, Now What?
morganepeng
51
7.4k
It's Worth the Effort
3n
184
28k
Producing Creativity
orderedlist
PRO
344
39k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
560
Why Our Code Smells
bkeepers
PRO
336
57k
Six Lessons from altMBA
skipperchong
27
3.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
A better future with KSS
kneath
238
17k
Documentation Writing (for coders)
carmenintech
67
4.6k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Transcript
ίʔυઃܭͷ࣌ʹ ΅͕͘ߟ͍͑ͯΔ ཧͱݱ࣮ͷ ંΓ߹͍ @kirimin
ઃܭͷ͕͖Ͱ͢ ɾ͜͜Ͱ͢ઃܭͱ ɹˠओʹΫϥεߏ࣮ํͷࣄ
ઃܭͷཧͱݱ࣮
͔ͬ͜Αͦ͞͏ͳઃܭ • ਖ਼͍͚͠ɺΫϥεͷࡉԽ • நԽɺܧঝʹΑΔॏෳίʔυͷഉআ • ෳࡶͳॲཧͷӅṭ • σβΠϯύλʔϯͷར༻
Α͋͘Δࣦഊ • ڞ௨Խ͗ͯ͢͠ྫ֎έʔεʹରԠग़དྷͳ͍ɺӨڹൣғ͕͔Γ ʹ͍͘ • Խ͗ͯ͢͠؆୯ͳػೳͷ࣮ʹֻ͕͔Γ͗͢Δ • ߏ͕ෳࡶա͗ͯίʔυ͕͑ͳ͍ɺ͔ࣗ͠ϝϯςग़དྷͳ͍ • ࢥతʹਖ਼ͦ͠͏͚ͩͲԿͷϝϦοτ͕͋Δͷ͔Α͔͘Β
ͳ͍ • ૣ͗͢Δ࠷దԽɻաͳύϑΥʔϚϯενϡʔχϯά
ઃܭҙຯ͕ͳ͍ʁ • ʮશ෦Activity(ViewController)ʹॻ͍ͨํ͕ૣ͍ ͔͠Γ͍͢͡ΌΜʯ •
ઃܭ͕ͳ͍ͷਏ͍ • ઍߦͷΫϥε • େྔͷॏෳίʔυ • ਂ͗͢Δωετɺཧղग़དྷͳ͍ϩδοΫ • ࣮ํ๏͕όϥόϥɻ༧ଌग़དྷͳ͍Ϋϥεͷґଘؔ ɺॲཧͷهड़ॴ
• ͲΜͲΜεϐʔυͱ࣭͕མͪͯΏ͘
Ͳ͏͢Ε ͤʹͳΕΔͷ͔ʁ
ԿͷͨΊͷઃܭ͔ʁ Λৗʹҙࣝ͢Δ
ͦͷઃܭʹม͑ΔͱԿ͕خ͍͠ Μ͚ͩͬʁ • ͬͱཧղ͍͢͠ίʔυʹ͢ΔͨΊ • ͬͱϝϯς͍͢͠ίʔυʹ͢ΔͨΊ • ͬͱόάΛੜΈʹ͍͘ίʔυʹ͢ΔͨΊ • ͬͱςετ͕ॻ͖͍͢ίʔυʹ͢ΔͨΊ
• ͬͱ࣮͕ૣ͘ͳΔίʔυʹ͢ΔͨΊ
՝ͱղܾ͢ΔͨΊͷઃܭͷྫ • UIϩδοΫͷςετ্͕ख͘ॻ͚ͳ͍ ɹɹ→MVPઃܭͰViewσʔλΞΫηε͔ΒUIϩδοΫΛΓͯ͠Ϣχοτ ςετΛॻ͖͘͢͢Δ • Activity͕ංେԽ͗ͯ͢͠มߋίετ͕ߴ͍ ɹ→σʔλϩδοΫΛϞσϧʹΓग़͢ɻϨΠϠʔΛ͚σʔλΞΫηε ωοτϫʔΫ௨৴ΛΓग़͢ •
UtilΫϥεʹ৭ʑศརϝιου͕࣮͞ΕͯΔ͚Ͳؾ͔ͳ͍ ɹ→σʔλͱϩδοΫΛ͍ۙॴʹॻ͍ͯΈΔɻUtilϝιουΛదͳ୯ҐͰΫ ϥε͚͔ͯ͠Γ໊͍͢લΛ͚Δ
γϯϓϧ͞ɾ࣮༻ੑͱ ͔ͬ͜Α͞Λఱṝʹ͔͚Δ ಉ͡Α͏ͳίʔυ͔ͩΒઈରʹڞ௨Խͨ͠ํ͕͍͍ ͦͷํ͕ΠέͯΔઃܭͬΆ͍͔ΒܧঝΛར༻͢Δ ྲྀߦΓͷϥΠϒϥϦ͔ͩΒɺϞμϯͳه๏͔ͩΒଟ༻͢Δ ྲྀߦΓͷΞʔΩςΫνϟ͔ͩΒಋೖ͢Δ ෆඞཁͳෳࡶ͞Λආ͚Δ
ղܾ͍ͨ͠՝͕ͳ͚Ε ίʔυग़དྷΔ͚ͩγϯϓϧͳํ͕͍͍ • γϯϓϧͳίʔυཧղ͍͢͠ • γϯϓϧͳίʔυมߋ͍͢͠ • γϯϓϧͳίʔυόάΛੜΈʹ͍͘
Keep it simple