2.2 KiB
2.2 KiB
步骤 1b:入口点与执行流程
确定应用程序的启动方式以及真实用户如何调用它。利用 pixie_qa/00-project-analysis.md 中的能力清单来确定优先级——专注于那些发挥最有价值、最常用能力的入口点,而不是仅仅找到第一个就结束。
调查内容
1. 软件的运行方式
入口点是什么?如何启动它?是 CLI、服务器还是库函数?需要哪些参数、配置文件或环境变量?
查找以下内容:
if __name__ == "__main__"代码块- 框架入口点(FastAPI
app、Flaskapp、Djangomanage.py) pyproject.toml中的 CLI 入口点([project.scripts])- 可揭示启动命令的 Docker/compose 配置
2. 真实用户入口点
真实用户或客户端如何调用该应用?评估必须测试的是这个——而不是绕过请求管道的内部函数。
- Web 服务器:哪些 HTTP 端点接受用户输入?使用什么方法(GET/POST)?请求体的结构是怎样的?
- CLI:用户提供哪些命令行参数?
- 库/函数:调用方导入并调用哪个函数?有哪些参数?
3. 环境与配置
- 应用需要哪些环境变量?(服务端点、数据库 URL、功能开关)
- 它读取哪些配置文件?
- 哪些有合理的默认值,哪些必须显式设置?
输出:pixie_qa/01-entry-point.md
将调查结果写入此文件。保持聚焦——仅包含入口点和执行流程。
模板
# 入口点与执行流程
## 运行方式
<启动应用的命令、必需的环境变量、配置文件>
## 入口点
- **文件**:<例如 app.py、main.py>
- **类型**:<FastAPI 服务器 / CLI / 独立函数 / 其他>
- **框架**:<FastAPI、Flask、Django、无>
## 面向用户的端点 / 接口
<针对用户与应用程序交互的每种方式:>
- **端点 / 命令**:<例如 POST /chat、python main.py --query "...">
- **输入格式**:<请求体结构、CLI 参数、函数参数>
- **输出格式**:<响应结构、stdout 格式、返回类型>
## 环境要求
| 变量 | 用途 | 是否必需 | 默认值 |
| -------- | ------- | --------- | ------- |
| ... | ... | ... | ... |