番外定位
十二节正课已经覆盖了 Knowhere 的核心模块。番外篇 01 不再引入新的业务知识,而是提供一套稳定的代码阅读方法:当你面对一个大型 Python 后端项目时,如何从入口出发,沿着 API、Service、Repository、Worker、Redis、数据库和对象存储找到真实行为。
这篇适合在第 2 课之后阅读,也适合在结业项目前作为“读代码方法论”复盘。
1. 阅读大型项目的基本原则
阅读 Knowhere 这类项目时,不建议从所有文件逐个打开开始。更有效的方法是围绕问题建立调用链:
用户动作
-> HTTP API 或 Celery Task
-> dependency / schema
-> service / workflow
-> repository / external client
-> database / redis / storage
-> response / side effect
读代码时始终问五个问题:
如果一个函数没有改变响应、状态、日志、事件或外部请求,它通常不是主链路的核心节点。
