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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
980
Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!
minami1389
2
12k
Other Decks in Programming
See All in Programming
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1.2k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
490
あなたはユーザーではない #PdENight
kajitack
4
340
開発ステップを細分化する、破綻しないAI開発体制
kspace
0
110
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
210
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
320
Event Storming
hschwentner
3
1.3k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
500
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
620
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
660
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Building AI with AI
inesmontani
PRO
1
770
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Music & Morning Musume
bryan
47
7.1k
Test your architecture with Archunit
thirion
1
2.2k
Done Done
chrislema
186
16k
The agentic SEO stack - context over prompts
schlessera
0
680
The SEO identity crisis: Don't let AI make you average
varn
0
400
Odyssey Design
rkendrick25
PRO
2
540
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Faster Mobile Websites
deanohume
310
31k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
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