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
頑張ってKotlin率をちょっとあげた話
Search
みっちゃん
March 14, 2023
Programming
0
200
頑張ってKotlin率をちょっとあげた話
Ebisu.mobile #1 にて登壇
https://hey.connpass.com/event/276211/
みっちゃん
March 14, 2023
Tweet
Share
More Decks by みっちゃん
See All by みっちゃん
DroidKaigi初めて登壇したレポ
mitchan
1
73
実践!難読化ガイド
mitchan
0
1.3k
「実践!難読化ガイド」事前予告編
mitchan
0
140
画面遷移 〜iOSとAndroid〜
mitchan
0
22
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
330
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
220
2024年は難読化と仲良くなりたい
mitchan
0
290
STORES二年生が得た新しい視点
mitchan
0
250
TabLayoutの「選択されていないインジケーター」にも色を付けるには
mitchan
0
68
Other Decks in Programming
See All in Programming
RDBの世界をぬりかえていくモデルグラフDB〜truncus graphによるモデルファースト開発〜
jurabi
0
180
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
130
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
1.1k
Competitionsだけじゃない! Kaggle Notebooks Grandmasterのすすめ
corochann
2
920
게임 개발하던 학생이이 세계에선 안드로이드 개발자?
pangmoo
0
120
Jakarta EE as Seen Trough the Lens of the ASF
ivargrimstad
0
760
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
740
画像でわかる北島直樹
naoki0917
0
100
C#および.NETに対する誤解をひも解く
ymd65536
0
330
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
160
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
2
520
perl for shell, awk and sed programmers
mackee
2
920
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Language of Interfaces
destraynor
154
24k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Navigating Team Friction
lara
183
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Being A Developer After 40
akosma
85
590k
Optimizing for Happiness
mojombo
375
69k
Transcript
頑張ってKotlin率をちょっとあげた話 登壇者:STORES 決済 Androidチーム みっちゃん 1
自己紹介 名前:みっちゃん 会社:STORES inc.(22卒) 役職:Androidエンジニア Twitter Qiita 2
2022年 下期 「Kotlin化率20%向上」という目標を掲げ、 我々Androidチームは新機能開発と両立しながら頑張りました!! どのようにKotlin化を進め、どれくらいKotlin率が上がったのかというお話し。 3
進め方 <3フェーズ構成> Javaのままリファクタリング ↓ Convert to Kotlin by AndroidStudio ↓
Kotlin化後のリファクタリング 4
進め方 feature/convert-to-kotlin-2022 ー feature/convert-to-kotlin-HogeHogeActivity ー feature/refactoring-java-HogeHogeActivity ー feature/convert-to-kotlin-by-AS-HogeHogeActivity ー feature/refactoring-kotlin-HogeHogeActivity
5
フェーズ1:Javaのままリファクタリング ▷ Kotlin化するにあたりJavaっぽい部分をなくす 例 • ヨーダ記法にGoodbyeする • prefixの”m”を消す 6
フェーズ2:Convert to Kotlin by AndroidStudio ▷ ボタンぽちぽちで自動convertするだけ! Kotlin化したいJavaファイルのタブ上で右クリックする 7
フェーズ3:Kotlin化後のリファクタリング ▷ 自動convertによってエラーが出ている部分はエラーを解消します ▷ Kotlinっぽいコードになるように綺麗にします (例) • else if 地獄をwhenでスッキリ
• スコープ関数を使ってスッキリ • nullabilityの改善(ex. 強制アンラップ!!を解消) • Android KTXを使ってよりKotlinらしいコードに • などなど... 8
else if 地獄をwhenでスッキリ 9
スコープ関数を使ってスッキリ 10
最終結果 下期だけで + 12%。年間だと + 20% 11
〜おわり〜 12