编辑
2025-11-17
AI
00

目录

背景
cursor喜好
tips

背景

日常使用cursor时,发现有些措施可以使得代码提效的效率倍增(经实测,通常存在半个小时完成几天开发工作量情况),特此记录,方便后续持续优化

cursor喜好

  1. 对md格式相当友好
  2. 对协议层、标准的代码、二进制理解友好
  3. 对已经实现的部分参考实现友好(即新需求,建议先开始调研清楚后再看具体代码引入,大致要自己心里有个理解)
  4. 可以让其写具体的开发文档,便于后续开发评审

tips

  1. rules GPT增加cursor的rules配置 在项目根目录下增加.cursor/rules.md 如果是Django的,参考:
js
# Cursor Rules - Python / Django 项目团队规范 ## ✅ 基础代码规范 - 所有 Python 代码必须遵循 PEP8 - 变量、函数、方法使用 snake_case - 类名使用 PascalCase - 常量使用 UPPER_CASE - 禁止无意义命名,如 a、b、tmp、test1 - 禁止提交 print 调试代码,使用 logging ## ✅ Django 项目结构规范 - apps/ 下每个模块是独立 Django APP,遵循 “单一职责” - models 放在 models.py 或 models/ 目录 - serializers 放在 serializers.py - views 放在 views.py 或 views/ 目录,不写业务逻辑 - 业务逻辑写在 services.py - 工具类放在 common/utils - 配置放在 config/,不可硬编码在业务中 ## ✅ 数据库规范 - 所有模型字段必须写 verbose_name、help_text - 必须开启 auto_now 或 auto_now_add 的时间字段 - 删除、更新尽量使用软删除 - QuerySet 操作必须捕捉异常,不能直接裸 try - 不允许 N+1 查询,建议使用 select_related / prefetch_related ## ✅ API 接口规范(RESTful) - 使用 DRF 编写 API - 所有接口返回统一结构: 成功: { "code": 0, "msg": "success", "data": {...} } 失败: { "code": 非0, "msg": "错误信息" } - 分页接口必须返回 total / page / page_size - 不允许返回内部异常堆栈 - 所有接口必须有权限控制 (IsAuthenticated 或自定义权限) ## ✅ 注释规范 - 所有类、方法必须包含 docstring - 函数必须写入参数说明、返回值说明 - 写关键业务逻辑时必须加注释 - 注释要说明 “做什么 + 为什么” 而不是“代码翻译” ## ✅ 依赖与环境规范 - 依赖固定在 requirements.txt - 开发/生产分离:settings/dev.py、settings/prod.py - 禁止将敏感信息(密码、密钥、URL)写死,必须使用环境变量 - migrations 必须提交 ## ✅ Git 规范(遵循 Conventional Commit) - feat: 新功能 - fix: 修 bug - docs: 文档 - style: 格式(不影响逻辑) - refactor: 重构(不影响功能) - test: 测试 - chore: 构建、脚本、依赖管理 示例: feat: add user login API fix: fix token expire bug refactor: move business logic to service layer ## ✅ 单元测试 - 所有 API 必须写测试 - 覆盖率不低于 70% - 测试命名为 test_xxxx.py - 必须断言 status_code 和返回结构 ## ✅ 日志规范 - 用 logging,不用 print - 错误级别必须包含上下文信息 - 不输出敏感数据(密码、token、手机号明文) ## ✅ 安全规范 - 表单和接口必须进行参数校验 - 禁止 SQL 拼接 - 密码必须加盐存储 - Token 必须带过期时间 - 不返回敏感数据(密码、ID卡号、密钥) ## ✅ 其他 - 遇到不确定实现方式,优先选择 Django 官方推荐实践 - 代码尽量可读、可维护、可测试,而不是“能跑就行”
  1. 跨项目代码使用,可以直接把需要的项目放到当前项目下,然后chat中,使用@引入所需要的部分,加上描述使用,最后是有参考某某实现
js
参考a2l文件的解析逻辑,这个页面http://localhost:8086/#/file/data/list?current=2&pageSize=20 调用解析逻辑时,参考后端Django的接口:class DataFileViewSet(ModelViewSet): @action(detail=True, methods=['post'], url_path='parse-hex-data') def parse_hex_data(self, request, pk=None) @src
  1. 如果是word或PDF等其他形式的文档,需要转换为md格式再使用@引入,加上描述,目的
js
@hex_client.py 根据地址具体是怎么分析出来最终的物理值的?给出详细的分析过程
  1. 如果直接指定模型使用,发现有时会特别轴,比如指定sonnet 4.5时(跟他说了几遍,注意事项和需求等还是会犯同样的问题),现在都是setting设置models圈定范围,默认AUTO即可

  2. 如果跨不同IDE使用,即apk开发、iOS开发等,建议使用cursor描述开发,调试用对应的IDE,比如Android Studio调试

  3. 多看极客时间相关课程,看看业界对这块使用的方式,对比自己的方式

本文作者:lixf6

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!