1 of 7

JVM Backend (Kotlin) X GitHub Copilot

Jian-Min (Vincent) Huang

1

Slides👉

$_purefunc 純函式

2 of 7

About Me

2

$_purefunc 純函式

3 of 7

Context & Agenda

  • 以 JVM Backend 開發者背景
    • Kotlin 為主, 少許 Java
    • 使用 Spring Framework
    • 目前的專案有 follow DDD, Clean Architecture 的設計

  • Intellij IDEA + Vim + Copilot + ChatGPT
  • DDD + CA, 物件互轉的情境
  • 更聰明的重複執行

3

$_purefunc 純函式

4 of 7

Intellij IDEA + Vim + Copilot 互補

  • Intellij IDEA
    • 程式語言與開發框架的支援
  • Vim
    • 快速定位與編輯
  • Copilot
    • 猜你要寫什麼 & 幫你寫點什麼 & 請你幫我看我寫什麼
    • 有 Project 的 Context 的狀況下,寫 Comment, Log, Commit Message, PR Message
    • 比較快,比較不會typo
    • 挖掘 api 用法

4

$_purefunc 純函式

5 of 7

DDD + CA, 物件互轉的情境

  • JVM Backend 本來就很多物件互轉
    • POJO, DTO, VO, DO, PO, Bean, Model, Entity

  • 套了 DDD, Clean Architecture 之後任務更重
    • 核心 Entity, Value Object
    • 資料庫 Persistence Object
    • 轉接層 Data Transfer Object
    • 表現層 View Model

5

$_purefunc 純函式

6 of 7

更聰明的重複執行

  • 加個欄位
    • 從 Request Param 多個參數一路往南

  • 類似的 Method
    • modifyToken -> modifyDeviceType
    • mapping list or map

6

$_purefunc 純函式

7 of 7

  • FooTinder - 美食餐廳 x 推薦地圖
    • https://footinder.app

7

FooTinder👉

Slides👉

$_purefunc 純函式