Upgrade to Pro — share decks privately, control downloads, hide ads and more …

頑張ってKotlin率をちょっとあげた話

 頑張ってKotlin率をちょっとあげた話

Ebisu.mobile #1 にて登壇
https://hey.connpass.com/event/276211/

みっちゃん

March 14, 2023
Tweet

More Decks by みっちゃん

Other Decks in Programming

Transcript

  1. 頑張ってKotlin率をちょっとあげた話
    登壇者:STORES 決済 Androidチーム みっちゃん
    1

    View full-size slide

  2. 自己紹介
    名前:みっちゃん
    会社:STORES inc.(22卒)
    役職:Androidエンジニア
    Twitter
    Qiita
    2

    View full-size slide

  3. 2022年 下期 
    「Kotlin化率20%向上」という目標を掲げ、
    我々Androidチームは新機能開発と両立しながら頑張りました!!
    どのようにKotlin化を進め、どれくらいKotlin率が上がったのかというお話し。
    3

    View full-size slide

  4. 進め方
    <3フェーズ構成>
    Javaのままリファクタリング

    Convert to Kotlin by AndroidStudio

    Kotlin化後のリファクタリング
    4

    View full-size slide

  5. 進め方
    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

    View full-size slide

  6. フェーズ1:Javaのままリファクタリング
    ▷ Kotlin化するにあたりJavaっぽい部分をなくす

    ● ヨーダ記法にGoodbyeする
    ● prefixの”m”を消す
    6

    View full-size slide

  7. フェーズ2:Convert to Kotlin by AndroidStudio
    ▷ ボタンぽちぽちで自動convertするだけ!
    Kotlin化したいJavaファイルのタブ上で右クリックする
    7

    View full-size slide

  8. フェーズ3:Kotlin化後のリファクタリング
    ▷ 自動convertによってエラーが出ている部分はエラーを解消します
    ▷ Kotlinっぽいコードになるように綺麗にします
    (例)
    ● else if 地獄をwhenでスッキリ
    ● スコープ関数を使ってスッキリ
    ● nullabilityの改善(ex. 強制アンラップ!!を解消)
    ● Android KTXを使ってよりKotlinらしいコードに
    ● などなど...
    8

    View full-size slide

  9. else if 地獄をwhenでスッキリ
    9

    View full-size slide

  10. スコープ関数を使ってスッキリ
    10

    View full-size slide

  11. 最終結果
    下期だけで + 12%。年間だと + 20%
    11

    View full-size slide

  12. 〜おわり〜
    12

    View full-size slide