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
190
DroidKaigi初めて登壇したレポ
mitchan
1
140
実践!難読化ガイド
mitchan
0
2.2k
「実践!難読化ガイド」事前予告編
mitchan
0
230
画面遷移 〜iOSとAndroid〜
mitchan
0
110
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
400
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
270
2024年は難読化と仲良くなりたい
mitchan
0
350
STORES二年生が得た新しい視点
mitchan
0
270
Other Decks in Programming
See All in Programming
PEPCは何を変えようとしていたのか
ken7253
3
320
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
62
20k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
高セキュリティ・高耐障害性・サブシステム化。そして2億円
tasukulab280
2
360
Datadog Workflow Automation で圧倒的価値提供
showwin
1
330
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
790
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
250
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
270
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
140
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
190
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
310
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
390
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
For a Future-Friendly Web
brad_frost
176
9.6k
A designer walks into a library…
pauljervisheath
205
24k
GraphQLとの向き合い方2022年版
quramy
44
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Thoughts on Productivity
jonyablonski
69
4.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
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