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
課題感から始める クラス設計と合意形成
Search
きりみん
March 11, 2018
Programming
5
2.6k
課題感から始める クラス設計と合意形成
きりみん
March 11, 2018
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
1.1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.4k
Watashi ni Kotlin ga maiorita
kirimin
0
550
NEMのAPIとモザイクであそぼう
kirimin
0
390
はじめようきれいなコード
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
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.7k
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
840
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
560
効率的な開発手段として VRTを活用する
ishkawa
0
150
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
590
Team operations that are not burdened by SRE
kazatohiei
1
320
Deep Dive into ~/.claude/projects
hiragram
14
2.6k
PicoRuby on Rails
makicamel
2
130
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
4k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
We Have a Design System, Now What?
morganepeng
53
7.7k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Language of Interfaces
destraynor
158
25k
GraphQLとの向き合い方2022年版
quramy
49
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
Into the Great Unknown - MozCon
thekraken
40
1.9k
Transcript
՝ײ͔Β࢝ΊΔ Ϋϥεઃܭͱ߹ҙܗ Bonfire Android #3
ࣗݾհ • @kirimin • AnyPayגࣜձࣾ ॴଐ • AndroidΤϯδχΞ • όʔνϟϧϢʔνϡʔόʔ
• React-NativeΤϯδχΞ
ฐࣾͷϓϩμΫτ
ࠓͷςʔϚ ʮαʔϏεͱઃܭʯ
ઃܭɺߟ͑ͯ·͔͢ʁ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ • ωοτϫʔΫ·ΘΓͱ͔ج൫ͷ෦ͷΫϥε ߏ͚ܾͩΊͯ͋ͱ࣮ऀ࣍ୈ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ • ωοτϫʔΫ·ΘΓͱ͔ج൫ͷ෦ͷΫϥε ߏ͚ܾͩΊͯ͋ͱ࣮ऀ࣍ୈ • શવΘ͔Βͳ͍ɻԶͨͪงғؾͰΦϒδΣ ΫτࢦΛ͍ͬͯΔ
͍Ζ͍Ζͳઃܭύλʔϯ .71 .7$ .77. ""$ 'MVY 3FEVY
ͳΜͰઃܭΛߟ͑Δඞཁ͕ ͋ΔΜͩΖ͏
ͦ͜ʹ՝͕͋Δ͔Β
͑Β͍ͻͱʮMVP͕ΠέͯΔ Β͍͔͠Βɺ࣍ͷΞϓϦ MVPͰͬͯͶʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ • ϝϯόʔʮͳΜͰ͜Μͳ໘ͳॻ͖ํ͠ͳ͍ͱ ͍͚ͳ͍Μͩ...ʯʮԿ͕ਖ਼͍͠ͷ͔͔Βͳ ͍...ʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ • ϝϯόʔʮͳΜͰ͜Μͳ໘ͳॻ͖ํ͠ͳ͍ͱ͍ ͚ͳ͍Μͩ...ʯʮԿ͕ਖ਼͍͠ͷ͔͔Βͳ͍...ʯ • ՝ײ͕ೝࣝग़དྷ͍ͯͳ͍ͷʹઃܭͱݴΘΕͯ ϝϦοτΛ࣮ײ͢ΔͷΉ͔͍ͣ͠
શવΘ͔Βͳ͍ɻ ԶͨͪงғؾͰྲྀߦΓͷ ઃܭΛ͍ͬͯΔ
ରࡦ
1.νʔϜͱͯ͠ग़དྷΔ͜ͱ
ࠓͷϓϩδΣΫτͷ՝Λ ચ͍ग़͢ • Ͳ͜ʹͲΜͳॲཧ͕ॻ͔Ε͍ͯΔͷ͔͔Βͳ ͍ • ৽͍͠ॲཧΛͲ͜ʹॻ͚͍͍ͷ͔͔Βͳ͍ • ঢ়ଶ͕ແବʹෳࡶͰෆͳόά͕ࠞೖ͕ͪ͠ •
ίʔυ͕ಡΈʹ͘͘վमίετ͕ߴ͍
ࠓ͋Δ՝ΛղܾͰ͖ͦ͏ͳύ λʔϯΛಋೖ͠Α͏ • ٯʹ՝͕ಛʹແ͚ΕແཧʹΧοίΠΠઃܭύλʔ ϯΛΘͳ͍͍ͯ͘ • ࢥతʹਖ਼͍͠ΨονϦͨ͠ઃܭ͕ৗʹ༏Ε͍ͯΔ ͱݶΒͳ͍ɹ(શͯͷΫϥεΛinterfaceԽ͢Δͳ Ͳ) •
ͨͩ͠ɺকདྷతͳ՝͕༧ݟग़དྷ͍͍ͯͯΔͳΒ࠷ ॳ͔ΒΨονϦΉͷѱ͘ͳ͍
ݸਓతʹ࠷ݶܾΊ͓͍ͯͨํ ͕Αͦ͞͏ͳ͜ͱ • ͏ϥΠϒϥϦͱ͍ํ • DataBinding/RxJava/Retrofit/EventBus/etc... • σʔλΞΫηεॲཧͷݺͼग़͠ํ • View͔ΒݺͿ/Ϟσϧ͔ΒݺͿ/RepositoryతͳͷΛ࡞Δ/࡞Β
ͳ͍ • ϏδωεϩδοΫΛॻ͘ॴ • ϞσϧΫϥεͬΆ͍ͷ͕͍ΖΜͳύοέʔδʹࢄΒΓ͕ͪ
2.։ൃऀݸਓͱͯ͠ Ͱ͖Δ͜ͱ
࣮࣌ͷ͋Γ͕ͪͳ՝ΛΔ • ΦεεϝͳͷݸਓͰ0͔ΒΞϓϦΛ࡞ͬͯΈΔ͜ͱ • ͦͦ͜͜ͷػೳΛ࣋ͬͨΞϓϦΛҰਓͰ࡞ΓɺԿػೳ վળͷΞοϓσʔτΛ͍ͯ͘͠ • ͍Ζ͍Ζͳ՝͕ݟ͑ͯ͘Δ • ྑ͔Εͱࢥͬͨઃܭ͕ͭΒΈΛੜΉͳͲͷݟ͕ಘΒΕΔ
• ઃܭʹࣦഊͨ͠ܦݧҰੜͷࡒ࢈
ཧ • νʔϜʮ͜͏͍͏՝͕͋Δ͔Β͜ͷઃܭΛ ಋೖ͠Α͏ʯ • ϝϯόʔʮΘ͔Δʯ
͡Ό࣮͋ࡍʹͲ͏ͬͯಋೖ ͢Δͷʁ
paymoͰͷྫ
ఏҊ͢Δ • ॳظͷ࣮͍Ζ͍Ζͳ՝͕͋Δઃܭͩͬͨɹ (DroidKaigiͰͷൃදɺHow to improve your architecture and testsΛࢀর)
• ·ͣேձSlackͳͲͰ՝ײͱΓ͍ͨ͜ͱΛप͢Δ • GitHubʹIssueΛཱͯΔ • จষϕʔεͰํੑʹ͍ͭͯٞ͠νʔϜͰ߹ҙ͢Δ
None
None
None
۩ମҊΛݟͤΔ • αϯϓϧͱͯ͠ҰՕॴʹద༻͍ͨ͠ઃܭΛద༻͠ ͨϒϥϯνΛ࡞ΓɺPRΛग़͢ • ίʔυʹରͯ͠ϝϯόʔ͔Β͘ποίϛΛืΔ • ίʔυϕʔεͰߋʹٞ͢Δ • ApproveΛΒ͍߹ҙͷҙࢥΛ໌֬ʹ֬ೝ͢Δ
None
ϦϑΝΫλΛ࣮ࢪ͢Δ • ৽࣮͘͢͠ΔՕॴ৽͍͠ઃܭʹ߹ΘͤΔ • ݹ͍ՕॴεέδϡʔϧͳͲͱ૬ஊ͠ͳ͕Β ॱ࣍ॻ͖͍͑ͯ͘
େࣄͳ͜ͱ • ҰਓͰಥͬΒͳ͍ • ৽͍͠ઃܭ͕ϝϯόʔײͰेʹप͞Ε͍ͯͳ ͔ͬͨΓɺҙࣝ߹Θ͕ͤग़དྷ͍ͯͳ͍ͱɺ࣮ऀ ʹΑͬͯνάϋάʹͳͬͨΓɺετϨεͷݪҼʹ ͳΔ • ઃܭͷରϓϩάϥϜ͕ͩɺେࣄͳͷਖ਼͍͠
՝ͷೝࣝͱίϛϡχέʔγϣϯ
ઈର͋͠Θͤͳ ։ൃݱʹ͠Α͏ͳ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠