| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # 编程规范
- 为了保持程序的通用性、扩展性和兼容性,代码设计应遵循以下原则:
- 1. 模块化设计:将功能分解为独立的模块或类,每个模块或类应专注于单一职责。避免将多个不相关的业务逻辑集中在一个类或函数中。
- 2. 高内聚低耦合:确保每个模块或类内部的元素紧密相关(高内聚),同时减少模块或类之间的依赖关系(低耦合)。这样可以使代码更易于维护和扩展。
- 3. 单一职责原则:每个函数或方法应只执行一个最小化的任务。如果一个函数或方法包含多个步骤,应考虑将其分解为多个更小的函数或方法。
- 4. 按需创建:根据业务需求决定是否创建新的文件、类或函数。如果现有类或函数无法满足新的需求,应考虑创建新的类或函数,而不是在现有代码中添加额外的逻辑。
- 5. 继承与组合:合理使用继承和组合来增强代码的复用性和扩展性。优先使用组合而非继承,以避免过度复杂的继承层次。
- 6. 注释与文档:为每个模块、类和函数添加适当的注释,说明其功能、输入输出以及使用场景。这有助于其他开发者理解和使用你的代码。
- 7. 接口与抽象:定义清晰的接口和抽象基类,以便在不同实现之间保持兼容性。通过接口或抽象类来定义通用的行为,具体的实现可以在子类中完成。
- 8. 可扩展性:在设计时考虑未来的扩展需求,避免硬编码和过度依赖特定实现。使用配置文件、依赖注入等方式来提高代码的灵活性。
- 9. 兼容性:在修改或扩展代码时,确保新代码与旧代码兼容,避免破坏现有功能。可以通过版本控制、接口隔离等方式来管理兼容性问题。
- - 当前环境是 python 3.12 ,务必要保持最新的接口来开发,例如 Fastapi 不再使用 app.event ,而是使用 lifespan 。pydantic.BaseModel 不再支持 dict() ,而是用 model_dump()
- 重要:由于你是在 aider 开发环境中,如果你要编写任何文件的代码,都不能省略已有代码,必须完整写完
- # 项目说明:
- - 这是一个基于 Fastapi + Vue3 的代理池管理。通过订阅链接,获取服务商提供的代理池数据,让 mihomo 工具启动本地代理池。
- ## 后端
- python 搜索路径 `./backend`
- * Api
- 启动web服务后, 默认配置下会开启 http://127.0.0.1:5010 的api接口服务:
- | api | method | Description | params|
- | ----| ---- | ---- | ----|
- | / | GET | api介绍 | None |
- | /get | GET | 随机获取一个代理| 可选参数: `?type=https` 过滤支持https的代理|
- | /pop | GET | 获取并删除一个代理| 可选参数: `?type=https` 过滤支持https的代理|
- | /all | GET | 获取所有代理 |可选参数: `?type=https` 过滤支持https的代理|
- | /count | GET | 查看代理数量 |None|
- | /delete | GET | 删除代理 |`?proxy=host:ip`|
- | /add | GET | 添加代理 |`?proxy=host:ip`|
- | /subscribe | PUT | 添加订阅链接 |None|
|