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
OSもどきOS
arkw
0
480
Vite+ Unified Toolchain for the Web
naokihaba
0
230
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
410
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
530
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
650
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4k
Agentic UI
manfredsteyer
PRO
0
130
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
150
A2UI という光を覗いてみる
satohjohn
1
120
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Navigating Weather and Climate Data
rabernat
0
220
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Mind Mapping
helmedeiros
PRO
1
240
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Building AI with AI
inesmontani
PRO
1
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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