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
86
実践!難読化ガイド
mitchan
0
1.4k
「実践!難読化ガイド」事前予告編
mitchan
0
160
画面遷移 〜iOSとAndroid〜
mitchan
0
29
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
330
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
230
2024年は難読化と仲良くなりたい
mitchan
0
300
STORES二年生が得た新しい視点
mitchan
0
250
TabLayoutの「選択されていないインジケーター」にも色を付けるには
mitchan
0
71
Other Decks in Programming
See All in Programming
Why Spring Matters to Jakarta EE - and Vice Versa
ivargrimstad
0
1.1k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.2k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
410
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
9
1k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
2
660
qmuntal/stateless のススメ
sgash708
0
120
Server Driven Compose With Firebase
skydoves
0
410
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.4k
Hotwire or React? ~Reactの録画機能をHotwireに置き換えて得られた知見~ / hotwire_or_react
harunatsujita
9
4.4k
RailsのPull requestsのレビューの時に私が考えていること
yahonda
5
2.3k
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
110
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
120
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Ruby is Unlike a Banana
tanoku
96
11k
Producing Creativity
orderedlist
PRO
341
39k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
GraphQLとの向き合い方2022年版
quramy
43
13k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Designing Experiences People Love
moore
138
23k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
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