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
JavaからKotlinに さらにKotlinらしく書き換えることで コードがリファクタされて...
Search
Minami Baba
September 09, 2019
Programming
0
7k
JavaからKotlinに さらにKotlinらしく書き換えることで コードがリファクタされていった話
Minami Baba
September 09, 2019
Tweet
Share
More Decks by Minami Baba
See All by Minami Baba
Build Configuration による機能出し分けを型定義の力を借りて実現していく
minami1389
2
970
Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!
minami1389
2
12k
Other Decks in Programming
See All in Programming
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.2k
SQL Server 2025 LT
odashinsuke
0
120
Java 25, Nuevas características
czelabueno
0
120
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
330
Vibe codingでおすすめの言語と開発手法
uyuki234
0
150
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
170
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
36k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.7k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
Graviton と Nitro と私
maroon1st
0
150
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
0
28
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Between Models and Reality
mayunak
1
150
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
Building Adaptive Systems
keathley
44
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
96
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
63
Transcript
© DeNA Co., Ltd. +BWB͔Β,PUMJOʹ ͞Βʹ,PUMJOΒ͘͠ॻ͖͑Δ͜ͱͰ ίʔυ͕ϦϑΝΫλ͞Ε͍ͯͬͨ 1 2019 /
09 / 09 Kotlin Fest Reject Conference 2019 Minami Baba DeNA Co., Ltd.
© DeNA Co., Ltd. ࣗݾհ 2 • അೆ࣮ • DeNA
/ ϔϧεέΞࣄۀ • ʮา͍͓ͯτΫʯ • AndroidΞϓϦ։ൃ • @minami1389
© DeNA Co., Ltd. Google I/O 2019ʹͯᶃ • KotlinAndroid։ൃʹ͓͚Δਪݴޠʹ •
ʮ৽نϓϩδΣΫτͰKotlinͰ։ൃΛ࢝ΊΔ͖ʯ 3 ࢀরɿh5ps://www.youtube.com/watch?v=ldM6QZy9e0s
© DeNA Co., Ltd. Google I/O 2019ʹͯᶄ • ʮطଘϓϩδΣΫτΛKotlinʹҠߦ͢Δ͔Ͳ͏͔ ϓϩδΣΫτͱνʔϜͷঢ়گʹΑͬͯߟ͑Α͏ʯ
4 ࢀরɿh5ps://www.youtube.com/watch?v=ldM6QZy9e0s
© DeNA Co., Ltd. ʮา͍͓ͯτΫʯͰͷ༻ݴޠͷي 5 2016/04 ϦϦʔεɹ 2019/09 ݱࡏ
2018/07 KotlinҠߦ։࢝ Java:Kotlin = 100:0 Java:Kotlin = 50:50
© DeNA Co., Ltd. KotlinҠߦͷ͖͔͚ͬ 6 ʮKotlinҠߦͯ͠ΈΑ͏͔ͳʯ ʮίʔυΛͳΜ͔ϦϑΝΫλ͍ͨ͠ʯ
© DeNA Co., Ltd. ݱࡏͷײ Java͔ΒKotlinॻ͖͑ͯຊʹྑ͔ͬͨʂ ʰͳΜ͔ϦϑΝΫλ͍ͨ͠ʱͱ͍͏ͱ͖ʹ KotlinͷҠߦྑ͍બࢶͷҰͭͰ͢ ͦͷཧ༝ɾɾɾ ᶃ࢝ΊΔϋʔυϧ͕͍
ᶄ͔ͬ͠ΓޮՌΛಘΒΕΔ 7
© DeNA Co., Ltd. ࢝ΊΔϋʔυϧ͕ ͍ͬͯຊʁ ʢ4ͭͷෆ҆ʹ͓͑͠·͢ʣ 8
© DeNA Co., Ltd. ࢝ΊΔϋʔυϧ͕͍ͬͯຊʁᶃ ᶃJavaϑΝΠϧͨ͘͞Μ͋ΔͷͰ ɹશ෦ॻ͖͑ΔͳΜͯͦΜͳ࣌ؒऔΕͳ͍… → JavaͱKotlin͕ڞଘ͍ͯ͠Δঢ়ଶͰΞϓϦಈ͖·͢ 9
ᶄԿඦߦ͋ΔϑΝΠϧΛ1ߦͣͭॻ͖͑Δͷେมͦ͏… → Android Studio ͷࣗಈมػೳΛ͏͜ͱ͕Ͱ͖·͢
© DeNA Co., Ltd. ࢝ΊΔϋʔυϧ͕͍ͬͯຊʁᶄ ᶅ୯७ͳม͚ͩͩͱޮՌͳͦ͞͏ͩ͠·ͣ ɹKotlinΛ͔ͬ͠Γษڧ͠ͳ͍ͱ… → ୯७ͳม͚ͩͰޮՌ͋Γ·͢ʂ
10 ᶆKotlinΒ͍࣮ͬͯ͠ͳ͔ͳ͔ͦ͠͏… → ؆୯ʹಋೖ͍͚ͯ͠Δػೳ͋Γ·͢ʂ
© DeNA Co., Ltd. ୯७ͳมͰ ޮՌ͕ಘΒΕΔͬͯຊʁ ʢ۩ମྫΛ1͚ͭͩ͝հʣ 11
© DeNA Co., Ltd. ୯७ͳมͰಘΒΕΔޮՌ • ϝιουͷఆ͕͖ٛͬ͢Γ͢Δ • “public” /
“void” ͕লུͰ͖Δ • 7จࣈ * 5ϝιου/ * 240 = ؒͰ8,400จࣈઅ!! • ʮϝιουʹΓग़͖ͩ͢ͱ໘ͩͳʯ ͱ͍͏ѱຐͷʹউͭثʹͳΔ 12 Kotlin 11จࣈ Java 18จࣈ -7จࣈ
© DeNA Co., Ltd. ؆୯ʹऔΓೖΕΒΕΔ Kotlinػೳ͕͋Δͬͯຊʁ ʢ۩ମྫ1͚ͭͩ͝հʣ 13
© DeNA Co., Ltd. ؆୯ʹಋೖͰ͖ΔKotlinػೳ • anyϝιου • Ϧετʹ݅Λຬͨ͢ཁૉ͕͋Δ͔Λఆ •
࣮ͷҙਤ͕ඇৗʹ໌֬ʹͳΔ 14 any for in
© DeNA Co., Ltd. 15 ڧྗͳػೳͨ͘͞Μ͋Δ͚Ͳ ͪΓੵΕࢁͱͳΔΑ͏ͳ ࡉ͔͍ޮՌ,PUMJOͷັྗ
16 © DeNA Co., Ltd. ·ͱΊ KotlinΛ ͬͱ͖ʹͳΓ ίʔυΛͬͱ ͖Ε͍ʹ͠Α͏
© DeNA Co., Ltd. એ ٕज़ॻయͰຊΛग़͠·͢ ɾ !ା ʮ+BWBUP,PUMJO
ɹɹɹUP,PUMJO)BOECPPLʯ ɾࠓͷ֦େ൛ͷΑ͏ͳຊͰ͢ ɾ୯७ͳมͰಘΒΕΔޮՌ ɹ؆୯ʹಋೖͰ͖Δػೳ ɹͨ͘͞Μ͝հ͍ͯ͠·͢ 17 ৄͪ͘͜͠Β↓ h5ps://techbookfest.org/event/tbf07/circle/5733885484728320