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
140
[社内LT]コード設計の時にぼくが考えている理想と現実の折り合い
AnyPay社内LT会用資料です。
きりみん
September 01, 2017
Tweet
Share
More Decks by きりみん
See All by きりみん
AndroidエンジニアがRailsにチャレンジしてる理由
kirimin
1
1.6k
What are AtCoder and competitive programming
kirimin
0
10k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.4k
Watashi ni Kotlin ga maiorita
kirimin
0
550
NEMのAPIとモザイクであそぼう
kirimin
0
380
はじめようきれいなコード
kirimin
8
3.1k
Material Components for Android触ってみる
kirimin
7
2k
[社内LT]あたらしいMaterial Design
kirimin
1
1.7k
Other Decks in Programming
See All in Programming
Parallel::Pipesの紹介
skaji
2
900
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
150
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.9k
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
360
「兵法」から見る質とスピード
ickx
0
260
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
230
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
180
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
120
Using AI Tools Around Software Development
inouehi
0
1.1k
Gleamという選択肢
comamoca
6
660
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
10
1.7k
Effect の双対、Coeffect
yukikurage
4
1.3k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Why Our Code Smells
bkeepers
PRO
337
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
4 Signs Your Business is Dying
shpigford
183
22k
Rails Girls Zürich Keynote
gr2m
94
14k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Code Review Best Practice
trishagee
68
18k
Transcript
ίʔυઃܭͷ࣌ʹ ΅͕͘ߟ͍͑ͯΔ ཧͱݱ࣮ͷ ંΓ߹͍ @kirimin
ઃܭͷ͕͖Ͱ͢ ɾ͜͜Ͱ͢ઃܭͱ ɹˠओʹΫϥεߏ࣮ํͷࣄ
ઃܭͷཧͱݱ࣮
͔ͬ͜Αͦ͞͏ͳઃܭ • ਖ਼͍͚͠ɺΫϥεͷࡉԽ • நԽɺܧঝʹΑΔॏෳίʔυͷഉআ • ෳࡶͳॲཧͷӅṭ • σβΠϯύλʔϯͷར༻
Α͋͘Δࣦഊ • ڞ௨Խ͗ͯ͢͠ྫ֎έʔεʹରԠग़དྷͳ͍ɺӨڹൣғ͕͔Γ ʹ͍͘ • Խ͗ͯ͢͠؆୯ͳػೳͷ࣮ʹֻ͕͔Γ͗͢Δ • ߏ͕ෳࡶա͗ͯίʔυ͕͑ͳ͍ɺ͔ࣗ͠ϝϯςग़དྷͳ͍ • ࢥతʹਖ਼ͦ͠͏͚ͩͲԿͷϝϦοτ͕͋Δͷ͔Α͔͘Β
ͳ͍ • ૣ͗͢Δ࠷దԽɻաͳύϑΥʔϚϯενϡʔχϯά
ઃܭҙຯ͕ͳ͍ʁ • ʮશ෦Activity(ViewController)ʹॻ͍ͨํ͕ૣ͍ ͔͠Γ͍͢͡ΌΜʯ •
ઃܭ͕ͳ͍ͷਏ͍ • ઍߦͷΫϥε • େྔͷॏෳίʔυ • ਂ͗͢Δωετɺཧղग़དྷͳ͍ϩδοΫ • ࣮ํ๏͕όϥόϥɻ༧ଌग़དྷͳ͍Ϋϥεͷґଘؔ ɺॲཧͷهड़ॴ
• ͲΜͲΜεϐʔυͱ࣭͕མͪͯΏ͘
Ͳ͏͢Ε ͤʹͳΕΔͷ͔ʁ
ԿͷͨΊͷઃܭ͔ʁ Λৗʹҙࣝ͢Δ
ͦͷઃܭʹม͑ΔͱԿ͕خ͍͠ Μ͚ͩͬʁ • ͬͱཧղ͍͢͠ίʔυʹ͢ΔͨΊ • ͬͱϝϯς͍͢͠ίʔυʹ͢ΔͨΊ • ͬͱόάΛੜΈʹ͍͘ίʔυʹ͢ΔͨΊ • ͬͱςετ͕ॻ͖͍͢ίʔυʹ͢ΔͨΊ
• ͬͱ࣮͕ૣ͘ͳΔίʔυʹ͢ΔͨΊ
՝ͱղܾ͢ΔͨΊͷઃܭͷྫ • UIϩδοΫͷςετ্͕ख͘ॻ͚ͳ͍ ɹɹ→MVPઃܭͰViewσʔλΞΫηε͔ΒUIϩδοΫΛΓͯ͠Ϣχοτ ςετΛॻ͖͘͢͢Δ • Activity͕ංେԽ͗ͯ͢͠มߋίετ͕ߴ͍ ɹ→σʔλϩδοΫΛϞσϧʹΓग़͢ɻϨΠϠʔΛ͚σʔλΞΫηε ωοτϫʔΫ௨৴ΛΓग़͢ •
UtilΫϥεʹ৭ʑศརϝιου͕࣮͞ΕͯΔ͚Ͳؾ͔ͳ͍ ɹ→σʔλͱϩδοΫΛ͍ۙॴʹॻ͍ͯΈΔɻUtilϝιουΛదͳ୯ҐͰΫ ϥε͚͔ͯ͠Γ໊͍͢લΛ͚Δ
γϯϓϧ͞ɾ࣮༻ੑͱ ͔ͬ͜Α͞Λఱṝʹ͔͚Δ ಉ͡Α͏ͳίʔυ͔ͩΒઈରʹڞ௨Խͨ͠ํ͕͍͍ ͦͷํ͕ΠέͯΔઃܭͬΆ͍͔ΒܧঝΛར༻͢Δ ྲྀߦΓͷϥΠϒϥϦ͔ͩΒɺϞμϯͳه๏͔ͩΒଟ༻͢Δ ྲྀߦΓͷΞʔΩςΫνϟ͔ͩΒಋೖ͢Δ ෆඞཁͳෳࡶ͞Λආ͚Δ
ղܾ͍ͨ͠՝͕ͳ͚Ε ίʔυग़དྷΔ͚ͩγϯϓϧͳํ͕͍͍ • γϯϓϧͳίʔυཧղ͍͢͠ • γϯϓϧͳίʔυมߋ͍͢͠ • γϯϓϧͳίʔυόάΛੜΈʹ͍͘
Keep it simple