docs: 增加红线清单,并把约束下沉到代码文件
起因:实测发现 Codex 不会主动把 338 行的规则手册当判断依据—— 问“能用 PySide6 吗”答“可以评估”,问“加个 emoji 图标”直接给改法, 问“改错别字要建工单吗”结论对但依据是通用常识、不是 §0 的实际条件。 三次都表现为“知道代码事实,但不应用项目规则”。 对策一:红线上收 - 根 AGENTS.md 开头新增 5 条红线(Qt 绑定、下单开关、风控、凭据、 不可逆阶段),并明确“不要论证其可行性,先停下来问用户” 对策二:把约束放到 agent 必然会打开的文件里 - pdd_ui.py / pdd_ui_event.py / settings_ui.py / settings_ui_event.py 写入模块 docstring,说明各自职责和最易踩的硬性规则 - 四个文件目前只有 docstring,无实现 同步修正 - ui_event.py 已拆成按页面分的四个文件,更新 client/AGENTS.md 的代码分层规则和 02 §3.1 的现状差异表 未包含:ui_main.py 和 demo1/auto_v1.py 的同类 docstring, 这两个文件承载尚未提交的代码,留待代码提交时一并处理。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
"""PDD 任务页的事件绑定。
|
||||
|
||||
把 `pdd_ui.py` 里控件的信号,接到查询、任务引擎等实际动作上。
|
||||
|
||||
改动本文件前必读 `client/AGENTS.md`。以下几条最容易踩:
|
||||
|
||||
- **禁止在 Qt 主线程做任何阻塞的事**:Admin 请求、uiautomator2/ADB 调用、
|
||||
`time.sleep()`、轮询、大 XML 解析、批量写文件。做了界面就会卡死转圈。
|
||||
- 长任务统一用 `QObject` + `moveToThread` 的 Worker 写法,
|
||||
模板照抄 `docs/client/02-architecture.md` §5.1。
|
||||
**不要**用 `QThread` 子类、`QRunnable` 或 Python 的 `threading`。
|
||||
- 后台结果只能通过**信号**回到主线程,Worker 里一行界面代码都不许有。
|
||||
- 窗口关闭时要断开信号并置标志位,否则迟到的后台结果会访问
|
||||
已经销毁的控件、直接崩溃。做法见同文档 §5.2。
|
||||
- 数据库读写走 Repository,**不要在这里拼业务 SQL**。
|
||||
- “开始自动获取”会真的去操作手机、可能下单;“搜索”只读本地数据库。
|
||||
两者必须分开,不得共用入口。
|
||||
- 普通成功不弹窗,更新界面即可;可恢复错误用 `InfoBar`
|
||||
(模板见 `docs/client/05-ui-specification.md` §9.1);
|
||||
只有必须让用户当场做决定时才用模态对话框。
|
||||
"""
|
||||
Reference in New Issue
Block a user