Add inline comments to core modules and code review notes
Added explanatory comments to server.py, freshrss_pipeline.py, pipeline.py, freshrss.py, keyword_index.py, summary_loop.py, and filters/engine.py. Also added CODE_REVIEW.md with prioritized improvement suggestions.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# 代码审查建议(2026-03-28)
|
||||
|
||||
## 立即可改(低成本)
|
||||
|
||||
- [ ] `server.py` context 通过临时文件传递绕路 — `run_freshrss_pipeline` 改为同时接受 `dict | Path` 类型的 context,消除 `NamedTemporaryFile` 绕路
|
||||
- [ ] `_load_required_env` 报错信息不区分"未传参数"还是"环境变量未设",改善调试体验
|
||||
- [ ] `evaluate_filter_rules` 决策逻辑歧义 — `stop_on_match=True` 命中后应直接以该规则 decision 为最终结果,而非继续聚合所有 matched
|
||||
|
||||
## 重构建议(中等成本)
|
||||
|
||||
- [ ] `run_freshrss_pipeline` 函数过长(约300行)— 拆分为 `_process_single_item()`、`_build_and_persist_delivery()` 等内部函数,主函数只做编排
|
||||
- [ ] `load_filter_rules` 每次 pipeline 调用都重新读文件 — 加模块级缓存,MCP 服务长期运行时避免重复 I/O
|
||||
|
||||
## 功能补全
|
||||
|
||||
- [ ] `mark_read` 只标记 delivered items,drop/review 的 item 下次仍会重复拉取 — 引入 `mark_read_all_processed` 选项,或在报告中明确标注
|
||||
- [ ] LLM 调用逐条串行 — 考虑用 `asyncio` + `httpx.AsyncClient` 并发处理多条 item,减少整体延迟
|
||||
Reference in New Issue
Block a user