番外定位十二节正课已经覆盖了 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读代码时始终问五个问题:这个入口是谁调用的?输入在哪里被校验和转换?业务决策在哪个模块完成?哪些状态被持久化?最终用户能观察到什么结果?如果一个函数没有改变响应、状态、日志、事件或外部请求,它通常不是主链路的核心节点。2. 从入口