Skills Plugins MCP Prompt Model 博客 我的中心
Development #python #api

coding-guidelines

规范当前 Python (FastAPI + SQLAlchemy) 项目的代码开发标准,涵盖编码风格、分层架构、数据库及异常处理等。

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=dataelement-bisheng-src-backend-agents-skills-coding-guidelines-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name 开发规范 (Coding Guidelines) description 规范当前 Python (FastAPI + SQLAlchemy) 项目的代码开发标准,涵盖编码风格、分层架构、数据库及异常处理等。 开发规范 本 Skill 用于指导当前项目的代码开发,确保代码风格统一、结构清晰且易于维护。在协助进行代码生成、重构或修改时,请务必遵循以下规范: 1. 编码风格 (Code Style) PEP 8 :严格遵循 PEP 8 规范。 类型提示 (Type Hints) :强制使用类型注解。所有的函数、方法参数及返回值必须明确指定类型,以支持静态检查和代码智能感知。 命名规范 : 包名/模块名/变量名/函数名: snake_case 类名: PascalCase 常量名: UPPER_SNAKE_CASE 代码格式化 :假设项目使用了 black 、 ruff 或 isort ,在编写代码时应保持与之相符的格式。 2. 架构设计与分层 (Architecture) 目录结构: 业务模块目录 :每个业务模块应有独立的目录 api :定义与外部交互的接口(如 FastAPI 路由) endpoints :具体的 API 端点实现 dependencies.py :定义 API 层的依赖项(如service 层的依赖) router.py :定义 API 路由 domain :核心业务逻辑和领域模型 models :定义数据库模型(SQLModel) services :定义业务服务类,封装核心业务逻辑 repositories :定义数据访问层,封装数据库操作 implementations :具体的 Repository 实现,应继承 BaseRepositoryImpl[ModelClass, IDType], RepositoryInterface interfaces :定义 Repository 接口,应继承 BaseRepository[ModelClass, IDType], ABC schemas :定义 Pydantic 模型,用于数据验证和序列化 3. 数据库与 ORM (SQLAlchemy & Alembic) 表结构变动:所有数据库表结构的增删改,必须通过 Alembic 生成迁移文件(如 alembic revision --autogenerate ),禁止直接手动修改数据库表结构。 versions 目录所在路径: bisheng/core/database/alembic/versions 可以阅读 bisheng/core/database/alembic/README.md 数据库操作:所有数据库的增删改查必须通过 SQLModel 或 SQLAlchemy ORM 模型进行,止禁直接使用原生 SQL 语句。 数据库会话(Session)应通过依赖注入的方式获取,或者通过装饰器(如 @db_session )进行管理,确保事务的一致性和正确的资源释放。 模型定义:使用SQLModel 定义数据库模型,确保与数据库表结构一致,并且支持 Pydantic 的数据验证,使用sa_column等方式定义字段属性。 模型类应放在 models 模块中,且每个模型类应有明确的表名( __tablename__ )和字段定义。 模型字段应使用 SQLModel 的 Field 函数进行定义,明确字段类型、默认值、索引等属性。 查询规范:尽量使用 SQLModel 的查询接口进行数据操作,避免直接使用原生 SQL 语句。对于复杂查询,可以在 Repository 层封装成方法,并提供清晰的接口。 如果有需要查询多张表的业务逻辑,尽量使用 JOIN 或子查询的方式进行,而不是在 Python 代码中进行多次查询和数据处理。 对于分页查询,建议使用 SQLModel 的分页功能,或者在 Repository 层封装一个通用的分页方法,以提高代码复用性和性能。 对于批量操作(如批量插入、更新),建议使用 SQLModel 的批量操作接口,以提高效率和性能。 4. 异常处理与日志 (Exception Handling & Logging) 分业务自定义异常 :每个业务模块应定义自己的异常类,继承自一个公共的基类(如 BaseErrorCode ) 在 bisheng/common/errcode 目录下定义不同业务的异常文件,如 user.py 、 knowledge.py 等,每个文件中定义该业务相关的异常类。 自定义异常类集成 BaseErrorCode ,并设置Code、Msg属性,以便在 API 层统一处理和返回错误响应。 在业务逻辑中,遇到错误情况时应抛出相应的自定义异常, raise UserNotFoundError() ,而不是直接返回错误码或字符串。API 层应捕获这些异常,并根据异常的 Code 和 Msg 生成统一的错误响应。 日志记录 :在关键业务流程、异常捕获点以及重要的操作步骤中,应使用 Python 的 logging 或 loguru 进行日志记录,确保日志内容清晰、结构化,并包含必要的上下文信息(如用户ID、请求ID等),以便于后续的调试和问题排查。 日志级别应合理使用,如 DEBUG 用于开发调试, INFO 用于正常操作记录, WARNING 用于潜在问题, ERROR 用于错误事件, CRITICAL 用于严重错误。 日志记录应使用英文,保持国际化和专业性,并且日志消息应简洁明了,能够清晰地传达事件的发生和相关信息。 5. 注释与文档 (Comments & Documentation) 注释和文档应使用英文 ,以保持国际化和专业性。 Docstrings :核心公共函数、类、复杂的业务方法必须包含文档字符串,说明其功能、参数详情和返回类型。 内联注释 :对于反直觉的代码实现或特别复杂的逻辑,需要有注释说明“为什么”这么写,而不仅仅是“做了什么”。 在每一次开发或答疑中,请将这份开发规范作为判断代码质量和架构是否合理的评价标准。
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。