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
210
頑張ってKotlin率をちょっとあげた話
Ebisu.mobile #1 にて登壇
https://hey.connpass.com/event/276211/
みっちゃん
March 14, 2023
Tweet
Share
More Decks by みっちゃん
See All by みっちゃん
2024年にチャレンジしたことを振り返るぞ
mitchan
0
210
DroidKaigi初めて登壇したレポ
mitchan
1
150
実践!難読化ガイド
mitchan
0
2.5k
「実践!難読化ガイド」事前予告編
mitchan
0
250
画面遷移 〜iOSとAndroid〜
mitchan
0
170
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
440
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
290
2024年は難読化と仲良くなりたい
mitchan
0
360
STORES二年生が得た新しい視点
mitchan
0
280
Other Decks in Programming
See All in Programming
インターフェース設計のコツとツボ
togishima
2
380
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
260
Interface vs Types ~型推論が過多推論~
hirokiomote
1
210
テスト分析入門/Test Analysis Tutorial
goyoki
9
2.5k
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
160
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
350
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
120
衛星の軌道をWeb地図上に表示する
sankichi92
0
230
Doma で目指す ORM 最適解
nakamura_to
1
160
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
6
340
Parallel::Pipesの紹介
skaji
2
630
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
270
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Building Adaptive Systems
keathley
41
2.6k
How to Ace a Technical Interview
jacobian
276
23k
Writing Fast Ruby
sferik
628
61k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Building an army of robots
kneath
306
45k
How STYLIGHT went responsive
nonsquared
100
5.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
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