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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
みっちゃん
March 14, 2023
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
頑張ってKotlin率をちょっとあげた話
Ebisu.mobile #1 にて登壇
https://hey.connpass.com/event/276211/
みっちゃん
March 14, 2023
More Decks by みっちゃん
See All by みっちゃん
Do you use git worktree?
mitchan
0
120
Android値受け渡し大全 〜 設計を制する者が「渡す」を制す 〜
mitchan
1
7.1k
2024年にチャレンジしたことを振り返るぞ
mitchan
0
300
DroidKaigi初めて登壇したレポ
mitchan
1
260
実践!難読化ガイド
mitchan
0
4.1k
「実践!難読化ガイド」事前予告編
mitchan
0
320
画面遷移 〜iOSとAndroid〜
mitchan
0
420
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
600
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
400
Other Decks in Programming
See All in Programming
Oxcを導入して開発体験が向上した話
yug1224
4
300
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
net-httpのHTTP/2対応について
naruse
0
470
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
dRuby over BLE
makicamel
2
330
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.5k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
New "Type" system on PicoRuby
pocke
1
790
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
150
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
We Have a Design System, Now What?
morganepeng
55
8.2k
Why Our Code Smells
bkeepers
PRO
340
58k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Ethics towards AI in product and experience design
skipperchong
2
310
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Making Projects Easy
brettharned
120
6.7k
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