一個維護了九年的 Android 外勤 App:Java 與 Kotlin 各半、一個一萬兩千行的 Activity、沒有 DI、沒有測試。這個系列記錄我用 Jetpack Compose 多模組架構把它重寫的 30 天:每天一個真實的架構決定,寫下選項、代價與理由,並附上去識別化的程式碼。主題涵蓋 DI、狀態管理、導航、藍牙硬體抽象、離線上傳佇列,以及可跨產品覆用的 core 模組設計。
這個只供內部人員用的老產品,我最印象深刻的是, 它的底部導航列按鈕的業務邏輯,要靠 MainActivity 的 f instanceof DoSomeTh...
今天的取捨問題 昨天決定另開 repo 重寫。第一個要回答的問題不是「用什麼函式庫」,而是:程式碼要怎麼切,才能同時滿足三件事? 30 天內要交出能在真實硬體...
今天的取捨問題 三件事同時要解: 多模組的設定重複。每個 Android library 模組都要設 compileSdk、minSdk、Java 版本、f...
程式碼片段 舊世界的 ServiceLocator:想做的兩件事都沒做到 ServiceLocator 是結合本地跟遠端兩個 data source, 形成 A...
先從"信封"兩字講起, ┌───────────────────────────┐│ Backend Envelope │...