原则

原则#

项目结构#

遵循“12-factors”。

工具链#

  • 包管理工具:建议使用 poetry 进行包管理。poetry 是一个现代化的 Python 包管理工具,可以帮助您管理项目依赖、构建和发布。它提供了简洁的命令行界面和依赖解析算法,使得包管理和发布变得更加简单和可靠。

  • 配置文件和密钥管理:建议使用 dynaconf 库代替自定义的 Config 类。dynaconf 提供了更完善的配置管理功能,支持多种配置源和格式,并提供了方便的 API 进行配置读取和更新。

  • 单元测试框架:建议使用 pytest 或 unittest 进行单元测试。您可以编写针对不同功能点的测试函数,并使用断言来验证函数的返回结果是否符合预期。另外,您还提到可以使用 LLM(Language Model-based Testing)生成测试用例,这是一个新颖的测试方法,可以使用 OpenAI 的 GPT 模型生成测试数据和断言。

  • 文档和 API 自动生成:建议使用 sphinx 来生成文档,并结合相关插件生成 API 文档。sphinx 是一个功能强大的文档生成工具,支持多种格式和主题,可以根据代码注释自动生成文档,并与 API 自动生成插件集成,生成易于阅读的 API 文档。

  • Web 服务框架:建议使用 FastAPI 或 Flask 框架来构建 Web 服务。FastAPI 是一个高性能的异步 Web 框架,支持基于函数的路由和自动化的请求验证,非常适合构建高效的 API 服务。Flask 是一个轻量级的 Web 框架,易于上手且灵活,适合构建小型应用或原型。