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
180
頑張ってKotlin率をちょっとあげた話
Ebisu.mobile #1 にて登壇
https://hey.connpass.com/event/276211/
みっちゃん
March 14, 2023
Tweet
Share
More Decks by みっちゃん
See All by みっちゃん
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
270
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
190
2024年は難読化と仲良くなりたい
mitchan
0
260
STORES二年生が得た新しい視点
mitchan
0
240
TabLayoutの「選択されていないインジケーター」にも色を付けるには
mitchan
0
54
Material Design とは
mitchan
0
67
勉強方法としてのコミュニティ活用
mitchan
0
710
Android端末のNFCを無効化しようとしてダメだった話
mitchan
1
4.6k
Other Decks in Programming
See All in Programming
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
継続的な活動で築く地方エンジニアの道
myamashii
2
360
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
유연한 Composable 설계
l2hyunwoo
0
380
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
CSC307 Lecture 05
javiergs
PRO
0
210
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
How to Think Like a Performance Engineer
csswizardry
4
590
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
The Mythical Team-Month
searls
217
43k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Optimizing for Happiness
mojombo
373
69k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Web development in the modern age
philhawksworth
203
10k
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