Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
頑張ってKotlin率をちょっとあげた話
Search
みっちゃん
March 14, 2023
Programming
260
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
170
Android値受け渡し大全 〜 設計を制する者が「渡す」を制す 〜
mitchan
1
7.5k
2024年にチャレンジしたことを振り返るぞ
mitchan
0
310
DroidKaigi初めて登壇したレポ
mitchan
1
280
実践!難読化ガイド
mitchan
0
4.6k
「実践!難読化ガイド」事前予告編
mitchan
0
350
画面遷移 〜iOSとAndroid〜
mitchan
0
500
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
640
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
440
Other Decks in Programming
See All in Programming
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
320
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
570
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
220
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
310
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
500
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
300
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
LLM 101
dalinaum
0
470
SODA - FACT BOOK(EN)
sodainc
1
220
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.6k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
200
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Building the Perfect Custom Keyboard
takai
2
950
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
The agentic SEO stack - context over prompts
schlessera
0
1k
What's in a price? How to price your products and services
michaelherold
247
13k
Scaling GitHub
holman
464
140k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
Rebuilding a faster, lazier Slack
samanthasiow
85
9.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