本指南旨在帮助希望为 Sherlock 项目做出贡献或扩展其功能的开发者。它涵盖了开发环境的设置、项目结构的理解、贡献方式以及测试您的更改。有关安装和使用信息,请参阅安装和使用,有关贡献政策,请参阅贡献。
为 Sherlock 设置开发环境需要几个步骤,以确保您拥有所有必要的工具和依赖项。
克隆仓库
使用 Poetry 安装开发依赖项
激活虚拟环境
Sherlock 使用 .editorconfig 来保持一致的编码风格。大多数现代编辑器都原生支持或通过插件支持此功能。
来源:pyproject.toml42-58 .editorconfig1-19
了解项目结构对于高效开发至关重要。
| 文件/目录 | 目的 |
|---|---|
sherlock_project/sherlock.py | 处理用户名搜索的主引擎 |
data.json | 所有支持站点的配置文件 |
pyproject.toml | 项目元数据和依赖规范 |
tests/ | 用于验证功能的测试套件 |
docs/ | 项目文档 |
Sherlock 遵循 Python 的 PEP 8 准则,并在 .editorconfig 文件中定义了一些特定的偏好设置
data.jsondata.json 文件是 Sherlock 功能的核心。添加或修改站点条目时
最常见的贡献之一是为 Sherlock 添加新站点的支持。
Sherlock 使用 Poetry 进行依赖管理。主要依赖项包括
添加新依赖项
对于开发依赖项
下图显示了 Sherlock 的主要组件在开发过程中如何相互作用
Sherlock 拥有一个全面的测试框架,以确保代码质量和功能。
要运行测试套件:
在开发或调试 Sherlock 时,请考虑以下方法
--verbose 标志获取详细输出--site 选项隔离站点测试import pdb; pdb.set_trace())进行单步执行Sherlock 的文档遵循以下标准
发布 Sherlock 新版本的过程包括
Sherlock 使用多个配置文件
| 文件 | 目的 |
|---|---|
pyproject.toml | 项目元数据、依赖项和构建设置 |
.editorconfig | 编辑器设置以保持一致的代码风格 |
tox.ini | 多环境测试配置 |
来源:pyproject.toml1-61 .editorconfig1-19
来源:docs/CODE_OF_CONDUCT.md1-130
本开发指南涵盖了为 Sherlock 项目做贡献的基本要点。遵循这些指南,您将能够有效地开发、测试并为项目做出贡献。有关特定主题的更多详细信息,请参阅相应的小节