From 0aa36e3056bd0322cac582224db7db0db68c6219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=E9=B2=81=E6=AD=A3?= <13780741225@163.com> Date: Thu, 10 Sep 2026 12:16:51 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Task=2014=20=E8=A1=A5=20setFunctionEnab?= =?UTF-8?q?led=20=E7=9A=84=20KDoc=20=E6=AD=A5=E9=AA=A4=EF=BC=88ledger=20R3?= =?UTF-8?q?1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plans/2026-09-10-ring-health-app-m0-m1.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/superpowers/plans/2026-09-10-ring-health-app-m0-m1.md b/superpowers/plans/2026-09-10-ring-health-app-m0-m1.md index 098f07d..7c40576 100644 --- a/superpowers/plans/2026-09-10-ring-health-app-m0-m1.md +++ b/superpowers/plans/2026-09-10-ring-health-app-m0-m1.md @@ -4697,6 +4697,25 @@ done > 只有这三条。`strings.xml` 里其余字符串**每一条都必须有调用点** —— 若 grep 出别的孤儿, > 那是某个任务漏了接线,**先查清再决定**,不要顺手一起删(可能是某个页面本该显示却没显示的文案)。 +- [ ] **Step 1b: 给 mock 的 `setFunctionEnabled` 补一句 KDoc(ledger Ruling R31)** + +`data/mock/MockRingDeviceRepository.kt` 的 `setFunctionEnabled` 上加一句中文 KDoc: + +```kotlin + /** + * 切换某个功能开关。 + * + * **必须返回新列表**(`map` / `+` 等),不要原地改写同一个 `MutableList`: + * `DeviceViewModel` 的 `stateIn(initialValue = …)` 在**构造时**就把当时的 List 引用冻结了, + * 而 `DeviceViewModelTest` 第一条用例的鉴别力正依赖于此 —— 若这里改成原地改写, + * `initialValue` 会被连带改动,那条断言就退化成自我确认,测试会静默失去意义。 + */ +``` + +背景:Task 10 复审指出 `DeviceViewModelTest` 的新断言依赖该 mock 产出新列表。这是真实的脆弱点, +但**不值得为一句注释单开一轮派发/复审/推送**(ledger R31 的裁定),因此由本任务顺带补上。 +若该文件在本任务之前已因其它原因被改动,一并补上即可。 + - [ ] **Step 2: 全量单元测试** ```bash