Files
reader/CODE_REVIEW.md
T
wdm 41f7ac0e91 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.
2026-03-28 23:59:50 +08:00

1.1 KiB
Raw Blame History

代码审查建议(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,减少整体延迟