Cursor 编程实践与案例分析

Cursor 编程实践与案例分析

1. 什么是 Cursor?

Cursor 是一款面向开发者的 AI 编程助手,集成于本地 IDE,支持自然语言与代码的无缝协作。它不仅能自动补全、重构、查找代码,还能理解业务上下文,辅助解决实际开发中的复杂问题。

2. Cursor 在实际工作中的优势

高效代码检索:通过自然语言描述,快速定位项目中的相关代码、表结构、业务逻辑。

智能代码生成与重构:根据业务需求自动生成方法、SQL、接口,减少重复劳动。

业务流程梳理:能根据业务描述,自动梳理出数据流、调用链,辅助理解和优化系统。

问题定位与修复:遇到报错或异常时,能快速分析原因并给出修复建议。

文档与注释生成:自动生成方法注释、接口文档、技术分享材料等。

2.1 Cursor和其他智能体的区别

维度GitHub CopilotChatGPTCursor
交互方式代码补全、片段生成文本对话、单文件生成IDE 集成、多文件项目生成
项目支持适合零散代码片段缺乏项目结构理解支持完整项目架构生成
业务理解依赖上下文有限需明确需求描述可解析业务流程与数据模型
新手友好度适合有经验开发者需人工整合代码自动生成可运行项目结构
协作能力个人开发辅助缺乏团队协作支持支持多人协作代码审查

2.2 Cursor 使用建议与局限性

  1. 高效使用策略
  1. 自然语言技巧:使用 “分析”“优化”“生成” 等关键词明确需求,如 “生成 Vue3 组件的单元测试用例”
  1. 分阶段开发:将复杂项目分解为模块,逐步让 Cursor 生成各部分代码
  1. 代码审查机制:生成代码后进行二次 Review,确保业务逻辑与安全性
  1. 当前局限性
  1. 复杂项目处理:尚无法独立完成中大型项目的全流程开发,需人工拆解需求
  1. 深度业务理解:对于高度定制化的业务逻辑,可能需要多次交互才能准确实现
  1. 性能优化能力:在算法级优化、底层代码调优方面仍需人工介入

2.3 Cursor的配置和使用

  • Model
  • Agent
  • Bug Finder

  • rule

https://cursor.directory/

Markdown
# 项目基础说明

- 本项目基于 Vue 3 + TypeScript + Element Plus + Pinia + Vite 搭建。
- 采用组合式 API(`<script setup lang="ts">`)进行开发。
- 状态管理使用 Pinia,模块化组织。
- 路由使用 Vue Router,采用权限动态路由配置。
- 接口请求统一封装在 `@/utils/request.ts` 中,使用 Axios。
- 表格、表单页面基于 Element Plus 封装通用组件,提高复用性。

# 组件和文件命名规范

- 组件文件名使用 `PascalCase` 格式,例如:`UserTable.vue`, `LoginForm.vue`
- 公共组件放置在 `src/components/` 下,业务组件可放在 `src/views/模块/components/` 中
- 文件夹名和非组件 `.ts/.scss` 文件使用 `kebab-case` 格式,例如:`user-api.ts`, `login-form.scss`
- 页面文件命名与路由保持一致,使用 `kebab-case`,例如:`user-list.vue`, `role-edit.vue`


# 样式和 CSS 使用约定

- **优先使用原子类:** 使用 UnoCSS 提供的原子类进行布局和样式,例如常见的 flex 布局(`flex justify-center items-center` 等)。样式语义明确,便于维护。
- **常用组合提取为全局快捷方式:** 对于**频繁使用**的原子类组合,应在 `unocss.config.ts` 中通过 `shortcuts` 定义全局组合类。例如:将 `flex justify-center items-center` 定义为 `flex-center`,这样可以在整个项目中复用。组合类命名应简洁且语义化,反映布局或功能意图。
- **非常用组合使用局部类:** 对于特定组件中使用但不常见的、超过3个的原子类组合,应该在组件内使用局部CSS类(使用`<style scoped>`块),避免过多的全局组合污染全局命名空间。
- **避免重复代码:** 不论是通过全局`shortcuts`还是局部CSS类,都应避免在多个地方重复编写相同的原子类列表,保持代码 DRY(Don't Repeat Yourself)原则。
- **样式优先级:** 优先考虑 UnoCSS 解决方案(原子类或组合类),其次才是传统 CSS。当需要使用传统 CSS 时,遵循 BEM 命名规范,即 `block__element--modifier` 格式。

# 导入顺序规范(保持统一结构)

1. Vue 相关 API(如 `ref`, `computed`, `onMounted`)
2. 第三方库(如 `element-plus`, `axios`)
3. 工具函数(如 `@/utils/*`)
4. 状态管理(如 `@/store/*`)
5. 项目内部组件、模块(如 `@/components`, `@/views`)
6. 样式文件


# 开发注意事项

- 使用 TypeScript,避免使用 `any`;
- 组件职责单一,保持结构清晰;
- 所有组件必须使用组合式 API;
- 适当添加注释,提升 AI 理解。
 

3. 典型工作流与实际案例

3.1 代码检索与业务理解

场景:需要理解某个业务流程涉及的表结构和数据流。

实际操作

  • 用 Cursor 搜索 operation_type 字段,快速定位 course_times_detail_operation_tasks 表的结构和各类型的业务含义。
  • 通过自然语言提问“帮我分析 getCourseChangeList 这方法的逻辑 流程 和sql”,Cursor 自动梳理出控制器、业务层、SQL 的完整调用链和数据流。

3.2 智能代码生成与重构

场景:实现课次回收功能

文本需求描述

Bash
在CourseTimesConvertRecycleTaskJobBusiness的task里面,我要实现以下功能,
接收参数如下
task($payTaskId=0,$freeTaskId=0,$operationContent)
1.task里面处理两个任务,一个是付费,一个是免费,至少有一个是非空的,operationContent是执行的具体内容
2.通过 TaskService::getInstance()->getInfoByID($taskId); 获取任务信息,任务表是course_times_detail_operation_tasks,operation_rule的内容如下
  付费:{"type": "pay", "datas": {"course_amount": 10, "source_course_num": 10, "target_course_num": 10, "convert_performance_no_list": [{"course_amount": 1, "channel_order_no": "CT-20250123193907602208973", "source_course_num": 1, "target_course_num": 1, "source_performance_no": "CT-20250123193907602208973"}, {"course_amount": 9, "channel_order_no": "CT-20250123193907723463141", "source_course_num": 9, "target_course_num": 9, "source_performance_no": "CT-20250123193907723463141"}]}}

  免费:{"type": "free", "datas": {"course_amount": 0, "source_course_num": 10, "target_course_num": 10, "convert_performance_no_list": [{"channel_order_no": "CT-20250123193907602208973", "source_course_num": 2, "target_course_num": 2, "source_performance_no": "CT-22250123193908450905348"}, {"channel_order_no": "CT-20250123193907723463141", "source_course_num": 8, "target_course_num": 8, "source_performance_no": "CT-22250123193908450905349"}]}}
  
  对应的字段名含义如下:
  "course_amount": "金额",
"target_course_num": "目标课次",
"source_course_num": "源课次",
"convert_performance_no_list": "转换履约单列表",
"channel_order_no": "渠道订单号",
"source_performance_no": "源履约单号",
"source_course_num": "源课次",
"course_amount": "金额",
"target_course_num": "目标课次"

开启事务

1.接下来需要循环convert_performance_no_list 插入课次回收流水表course_times_card_account_recycle_flows,插入数据AccountRecycleFlowService的addRecycleFlow方法
    public function addRecycleFlow($datas)
    {
        $model                   = new AccountRecycleFlowsModel();
        $model->user_id          = $datas['user_id'];
        $model->recycle_trans_no = $datas['recycle_trans_no'];
        $model->trans_no         = $datas['trans_no'];
        $model->card_no          = $datas['card_no'];
        $model->operation_type   = $datas['operation_type'];
        $model->performance_no   = $datas['performance_no'];
        $model->work_order_no    = $datas['work_order_no'];
        $model->amount           = $datas['amount'];
        $model->num              = $datas['num'];
        $model->save();

        return $model->toArray();
    }
    里面的user_id是task表的user_id,recycle_trans_no是 AccountPerformancesModel::makeTransNo("CCR")方法生成的;,trans_no是$TransNo = AccountPerformancesModel::makeTransNo(OperationTasksModel::OPERATION_TYPE_PREFIX[OperationTasksModel::OPERATION_TYPE_LIST['convert_recycle']])生成的;,operation_type是task表的operation_type,performance_no是convert_performance_no_list元素里的source_performance_no,work_order_no是task表的work_order_no,amount是convert_performance_no_list元素里的course_amount,num是convert_performance_no_list元素里的source_course_num

    2.更新convert_performance_no_list元素里的每一个source_performance_no的课次,操作course_times_card_account_performances课次订单结果表,参考这个方法
    AccountPerformancesModel::where('performance_no', $performanceNo)->decrement('freeze_num', $sourceCourseNum);

    3.回收课次账户下对应的冻结课次,操作course_times_card_accounts表,参考这个方法
  
    public function subtractFreezeBumOrPresentFreezeNumByCarNo($type, $num, $cardNo)
    {
      //课次账户的付费冻结课次
        if ($type == 1) {  
            AccountsModel::where('card_no', $cardNo)->decrement('freeze_num', $num);
        } else {
            //课次账户的赠送冻结课次
            AccountsModel::where('card_no', $cardNo)->decrement('present_freeze_num', $num);
        }
    }

    4.完成课次回收操作后,开始通知订单服务执行新的履约
                $res = ChannelPlatformService::getInstance()->convertRechargeCourse($operationContent);

    
    提交事务,返回结果

    请帮我实现以上功能

继续优化

1.formateOperationContent有很多foreach 能不能简化

2.将单sql操作改成批量执行,减少对数据库的操作次数

收益:节省了大量手写和调试 SQL 的时间,代码风格统一,易于维护。

接口文档需求描述

JSON
{
    "规则名称列表【搜索用】": {
        "url": "/plan/rule/getRuleNameList",
        "method": "GET",
        "params": {
           
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "id": 1,
                    "title": "窦神归来-周日"
                },
                {
                    "id": 1,
                    "title": "窦神归来-周日"
                }
            ]
        }
    },
    "tag_dict增加联动关系 增加接口": {
        "url": "/tag/hierarchy",
        "method": "GET",
        "params": {
            
        },
        "response": {
            "code": 200,
            "msg": "OK",
            "data": {
              "list": [
                {
                  "subject_id": "43",
                  "subject_name": "英语",
                  "item_list": [
                    {
                      "item_id": "44",
                      "item_name": "系统课",
                      "category_type_list": [
                        {
                          "category_type_id": "47",
                          "category_type_name": "阅读大师课"
                        },
                        {
                          "category_type_id": "48",
                          "category_type_name": "大师精讲课"
                        },
                        {
                          "category_type_id": "49",
                          "category_type_name": "大师晨读课"
                        }
                      ]
                    },
                    {
                      "item_id": "45",
                      "item_name": "专项课",
                      "category_type_list": [
                        {
                          "category_type_id": "50",
                          "category_type_name": "文化解析专项课"
                        }
                      ]
                    },
                    {
                      "item_id": "46",
                      "item_name": "转化课",
                      "category_type_list": [
                        {
                          "category_type_id": "51",
                          "category_type_name": "转化班"
                        }
                      ]
                    }
                  ]
                },
                {
                  "subject_id": "27",
                  "subject_name": "语文",
                  "item_list": [
                    {
                      "item_id": "28",
                      "item_name": "窦神归来",
                      "category_type_list": [
                        {
                          "category_type_id": "1",
                          "category_type_name": "窦神归来班"
                        },
                        {
                          "category_type_id": "42",
                          "category_type_name": "窦神归来第二季"
                        }
                      ]
                    },
                    {
                      "item_id": "29",
                      "item_name": "底阅作小王者",
                      "category_type_list": [
                        {
                          "category_type_id": "2",
                          "category_type_name": "底阅作小王者班"
                        }
                      ]
                    },
                    {
                      "item_id": "30",
                      "item_name": "王者班",
                      "category_type_list": [
                        {
                          "category_type_id": "3",
                          "category_type_name": "王者班"
                        }
                      ]
                    },
                    {
                      "item_id": "31",
                      "item_name": "阅读写作专项",
                      "category_type_list": [
                        {
                          "category_type_id": "4",
                          "category_type_name": "阅读拔尖班"
                        },
                        {
                          "category_type_id": "5",
                          "category_type_name": "写作拔尖班"
                        }
                      ]
                    },
                    {
                      "item_id": "32",
                      "item_name": "大语文",
                      "category_type_list": [
                        {
                          "category_type_id": "6",
                          "category_type_name": "大语文班"
                        },
                        {
                          "category_type_id": "7",
                          "category_type_name": "中考冲刺班"
                        }
                      ]
                    },
                    {
                      "item_id": "38",
                      "item_name": "底阅作突破Only",
                      "category_type_list": [
                        {
                          "category_type_id": "33",
                          "category_type_name": "底阅作突破Only"
                        }
                      ]
                    },
                    {
                      "item_id": "39",
                      "item_name": "保尖班",
                      "category_type_list": [
                        {
                          "category_type_id": "34",
                          "category_type_name": "拼音笔顺专项课"
                        },
                        {
                          "category_type_id": "35",
                          "category_type_name": "文言文专项"
                        },
                        {
                          "category_type_id": "36",
                          "category_type_name": "小升初专项"
                        },
                        {
                          "category_type_id": "37",
                          "category_type_name": "期末保尖班"
                        }
                      ]
                    },
                    {
                      "item_id": "40",
                      "item_name": "国宝课",
                      "category_type_list": [
                        {
                          "category_type_id": "41",
                          "category_type_name": "国宝课"
                        }
                      ]
                    }
                  ]
                }
              ],
              "grade_list": [
                {
                  "grade_id": "0",
                  "grade_name": "不限年级"
                },
                {
                  "grade_id": "1",
                  "grade_name": "一年级"
                },
                {
                  "grade_id": "2",
                  "grade_name": "二年级"
                },
                {
                  "grade_id": "3",
                  "grade_name": "三年级"
                },
                {
                  "grade_id": "4",
                  "grade_name": "四年级"
                },
                {
                  "grade_id": "5",
                  "grade_name": "五年级"
                },
                {
                  "grade_id": "6",
                  "grade_name": "六年级"
                },
                {
                  "grade_id": "7",
                  "grade_name": "七年级"
                },
                {
                  "grade_id": "8",
                  "grade_name": "八年级"
                },
                {
                  "grade_id": "9",
                  "grade_name": "九年级"
                },
                {
                  "grade_id": "10",
                  "grade_name": "高一"
                },
                {
                  "grade_id": "11",
                  "grade_name": "高二"
                },
                {
                  "grade_id": "12",
                  "grade_name": "高三"
                }
              ],
              "weekday_list": [
                {
                  "weekday_id": "1",
                  "weekday_name": "周一"
                },
                {
                  "weekday_id": "2",
                  "weekday_name": "周二"
                },
                {
                  "weekday_id": "3",
                  "weekday_name": "周三"
                },
                {
                  "weekday_id": "4",
                  "weekday_name": "周四"
                },
                {
                  "weekday_id": "5",
                  "weekday_name": "周五"
                },
                {
                  "weekday_id": "6",
                  "weekday_name": "周六"
                },
                {
                  "weekday_id": "7",
                  "weekday_name": "周日"
                }
              ]
            }
          }
    },
    "规则列表【关联排班】【创建时间倒序】": {
        "url": "/plan/rule/getRuleList",
        "method": "GET",
        "params": {
            "page": 1,
            "page_size": 10,
            "title": "规则名称",
            "status_comment": "规则状态1:启用,2:禁用",
            "status":1,
            "category_type_id":1

        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "id": 1,
                    "title": "窦神归来-周日",
                    "relation_plan_list": [
                        {
                            "id": 1,
                            "name": "窦神归来-周日"
                        },
                        {
                            "id": 2,
                            "name": "窦神归来-周日"
                        }
                    ],
                    "subject_name": "语文",
                    "item_name": "王者班",
                    "category_type_name": "王者班",
                    "grade_name": "一年级",
                    "week_name": "周一",
                    "status": 1,
                    "status_comment": "启用",
                    "create_time": "2021-01-01 00:00:00"
                },
                {
                    "id": 1,
                    "title": "窦神归来-周日",
                    "relation_plan_list": [
                        {
                            "id": 1,
                            "name": "窦神归来-周日"
                        },
                        {
                            "id": 2,
                            "name": "窦神归来-周日"
                        }
                    ],
                    "subject_name": "语文",
                    "item_name": "王者班",
                    "category_type_name": "王者班",
                    "grade_name": "一年级",
                    "week_name": "周一",
                    "status": 1,
                    "status_comment": "启用",
                    "create_time": "2021-01-01 00:00:00"
                }
            ]
        }
    },
    "创建规则": {
        "url": "/plan/rule/create",
        "method": "POST",
        "params": {
            "id_comment": "id为空时新增,不为空时编辑",
            "id": 1,
            "title": "窦神归来-周日",
            "subject_id": 1,
            "item_id": 1,
            "category_type_id": 1,
            "grade_id": 1,
            "week_id": 1,
            "status": 1
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": {}
        }
    },
    "更新规则": {
      "url": "/plan/rule/update",
      "method": "POST",
      "params": {
         
          "id": 1,
          "title": "窦神归来-周日",
         
          "status": 1
      },
      "response": {
          "code": 200,
          "msg": "success",
          "data": {}
      }
  },
    "部门列表": {
        "url": "/plan/rule/getDepartmentList",
        "method": "GET",
        "params": {},
        "response": {
            "code": 200,
            "msg": "success",
            "data": [
                {
                    "role_id": 1,
                    "manager_name": "梧桐团队",
                    "group_list": [
                        {
                            "role_id": 1,
                            "group_name": "助教二组",
                            "assistant_list": [
                                {
                                    "role_id": 1,
                                    "name": "张三"
                                },
                                {
                                    "role_id": 2,
                                    "name": "李四"
                                }
                            ]
                        },
                        {
                            "role_id": 2,
                            "group_name": "助教一组"
                        }
                    ]
                }
            ]
        }
    },
    "班主任管理列表【支持部门筛选,接量状态】【账号创建时间倒序】": {
        "url": "/plan/config/getAllTeacherConfig",
        "method": "GET",
        "params": {
            "page": 1,
            "page_size": 10,
            "teacher_ids":[1,2,3],
            "status_comment":"是否接量 1:接量,2:停止接量",
            "status":1
        },
        "response": {
          "code": 200,
          "msg": "OK",
          "data": {
              "page": 1,
              "page_size": 30,
              "total_num": 2,
              "list": [
                  {
                      "teacher_id": 10153,
                      "name": "王闪闪",
                      "mobile": "18838917910",
                      "belong_to": "马英豪部门",
                      "role":1,
                      "status": 1,
                      "alloc_total": 10,
                      "current_total": 0
                  },
                  {
                      "teacher_id": 10157,
                      "name": "张娟",
                      "mobile": "17710691104",
                      "belong_to": "马英豪部门",
                      "status": 1,
                      "alloc_total": 10,
                      "current_total": 0
                  }
              ]
          }
      },
    "班主任接量详情列表【倒序】": {
        "url": "/plan/config/getTeacherPlanList",
        "method": "GET",
        "params": {
            "teacher_id":1
        },
        "response": {
            "code": 200,
            "msg": "success",
            "data": {
                "list": [
                    {
                        "id": 1,
                        "plan_id":1,
                        "plan_title": "张三",
                        "rule_list":[
                            {
                                "id": 1,
                                "title": "窦神归来-周日"
                                
                            }
                        ],
                        "current_total":10,
                        "current_total_comment":"总实际接量",
                        "alloc_total":10,
                        "alloc_total_comment":"总计划接量",
                        "status":"1",
                        "status_comment":"是否接量 1:接量,2:停止接量"
                    }
                ]
            }
        }
    },
    "获取所有班型列表":{
        "url":"/tag/categoryTypeList",
        "method":"GET",
        "params":{},
        "response":{
          "code": 200,
          "msg": "success",
          "data": {
            "list": [
              {
                "id": 51,
                "tag_group_id": 1,
                "tag_key": "19",
                "tag_value": "转化班"
              },
              {
                "id": 50,
                "tag_group_id": 1,
                "tag_key": "18",
                "tag_value": "文化解析专项课"
              },
              {
                "id": 49,
                "tag_group_id": 1,
                "tag_key": "17",
                "tag_value": "大师晨读课"
              },
              {
                "id": 48,
                "tag_group_id": 1,
                "tag_key": "16",
                "tag_value": "大师精讲课"
              },
              {
                "id": 47,
                "tag_group_id": 1,
                "tag_key": "15",
                "tag_value": "阅读大师课"
              },
              {
                "id": 42,
                "tag_group_id": 1,
                "tag_key": "14",
                "tag_value": "窦神归来第二季"
              },
              {
                "id": 41,
                "tag_group_id": 1,
                "tag_key": "13",
                "tag_value": "国宝课"
              },
              {
                "id": 37,
                "tag_group_id": 1,
                "tag_key": "12",
                "tag_value": "期末保尖班"
              },
              {
                "id": 36,
                "tag_group_id": 1,
                "tag_key": "11",
                "tag_value": "小升初专项"
              },
              {
                "id": 35,
                "tag_group_id": 1,
                "tag_key": "10",
                "tag_value": "文言文专项"
              },
              {
                "id": 34,
                "tag_group_id": 1,
                "tag_key": "9",
                "tag_value": "拼音笔顺专项课"
              },
              {
                "id": 33,
                "tag_group_id": 1,
                "tag_key": "8",
                "tag_value": "底阅作突破Only"
              },
              {
                "id": 7,
                "tag_group_id": 1,
                "tag_key": "7",
                "tag_value": "中考冲刺班"
              },
              {
                "id": 6,
                "tag_group_id": 1,
                "tag_key": "6",
                "tag_value": "大语文班"
              },
              {
                "id": 5,
                "tag_group_id": 1,
                "tag_key": "5",
                "tag_value": "写作拔尖班"
              },
              {
                "id": 4,
                "tag_group_id": 1,
                "tag_key": "4",
                "tag_value": "阅读拔尖班"
              },
              {
                "id": 3,
                "tag_group_id": 1,
                "tag_key": "3",
                "tag_value": "王者班"
              },
              {
                "id": 2,
                "tag_group_id": 1,
                "tag_key": "2",
                "tag_value": "底阅作小王者班"
              },
              {
                "id": 1,
                "tag_group_id": 1,
                "tag_key": "1",
                "tag_value": "窦神归来班"
              },
              {
                "id": 57,
                "tag_group_id": 1,
                "tag_key": "20",
                "tag_value": "底阅作"
              }
            ]
          }
        }
    }
}

1.alloc-engine是一个基于php8.2的lumen项目,我要在这项目里实现以上接口,调用流程是这样的,路由定义在web.php里面,路由对应的controller在xxx,controller调用business,business调用service,其中service负责从model里或者redis里面获取数据

2.这个接口涉及到的表有xxx,xxx,xxx,其中表关系是这样的。。。。。。。 请根据需求帮我实现接口

3.3 业务流程优化与重构

场景:需要对已有的多方法进行合并和优化,减少重复代码。

实际操作

  • 提出“能不能把 buildRecycleNoMap 和 fillTransNoByPerformance 合成一个方法,名字叫 formateOperationContent 并实现代码逻辑”。
  • Cursor 自动分析两者的功能重叠,合并为一个更简洁、可维护的实现,并给出优化建议。

收益:代码结构更清晰,后续维护和扩展更方便。

3.4 问题定位与修复

场景:遇到 PHP 8 的参数顺序警告、Undefined array key 报错等。

SQL
Optional parameter $payTaskId declared before required parameter $operationContent is implicitly treated as a required parameter in <b>/Users/linxi/app/course-times-sr/app/Http/Business/Task/CourseTimesConvertTaskJobBusiness.php


"code":0,"file":"/Users/linxi/app/course-times-sr/app/Http/Business/Task/CourseTimesConvertTaskJobBusiness.php","msg":"Undefined array key 9","line":146}

实际操作

  • 直接粘贴报错信息,询问“如何修复?”
  • Cursor 能快速定位问题根源(如参数顺序、数组 key 类型不一致),并给出最优修复方案。

收益:大幅提升了排查和修复线上/开发环境 bug 的效率。

3.5 文档与技术分享自动生成

场景:需要为团队输出技术分享、代码注释、接口文档。

实际操作

  • 用自然语言描述需求和背景,Cursor 自动生成结构化的技术文档、方法注释、SQL 说明等。
  • 例如本篇文档,即由 Cursor 根据实际开发记录自动生成。

收益:极大降低了文档编写门槛,提升了团队知识沉淀效率。

3.6 根据UI图快速生成页面

  • 帮我生成一个企业官网
  • 请根据UI设计图,基于vue3 帮我完美复刻这个页面 ,缺失的图片用占位图代替,icon 用 SVG 或 emoji 占位

3.7 curosr

场景推荐关键词示例(效果对比)
代码生成实现、创建、编写、构建❌ 普通:写个用户登录功能
✅ 高效:实现基于 JWT 的用户认证系统,包含注册、登录、Token 刷新和权限验证
功能优化重构、优化、改进❌ 普通:这个函数太慢了
✅ 高效:优化这个递归算法,降低时间复杂度到 O (n)
错误修复调试、修复、解决❌ 普通:这个代码有问题
✅ 高效:修复这个 TypeScript 类型错误,确保所有接口字段都被正确校验
文档生成注释、文档、说明❌ 普通:给这段代码加注释
✅ 高效:生成符合 Google 风格的 Python 文档字符串,包含参数类型和返回值说明
跨语言转换转换、翻译、重写❌ 普通:把这个函数变成 Java
✅ 高效:将此 Python 代码翻译为 Kotlin,保持相同的异步逻辑

4. 常见问题与建议

 建议用自然语言描述业务需求,Cursor 能理解上下文并给出更贴合实际的代码和建议。

 多用“分析”、“优化”、“合并”等关键词,让 Cursor 帮你做结构性重构。

 遇到报错直接贴报错信息,Cursor 能快速定位并修复。

 善用表结构、SQL、业务流程的自动梳理,尤其在对接遗留系统或新业务时。

 代码生成后要结合实际业务做二次 review,确保逻辑和安全性。

5. 总结

各个领域下的AI排名

AI领域

AI名字

AI对话

DeepSeek、豆包、KIMI、ChatGPT

AI搜索

秘塔AI搜索、纳米AI搜索、Perplexity

AI编程

Trae、Cursor

AI绘图

即梦、可灵、Midjourney、Libl lib

AI声音

海螺AI、11labs

AI音乐

Suno、海绵音乐

AI视频

可灵、海螺AI、Vidu、PixVerse

AI 3D

TripoAI、混元3D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87422.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87422.shtml
英文地址,请注明出处:http://en.pswp.cn/web/87422.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、如何用MATLAB画一个三角形 代码

一、如何用MATLAB画一个三角形 代码在MATLAB中绘制三角形可以通过指定三个顶点的坐标并使用 fill 或 patch 函数实现。以下是详细代码示例&#xff1a;方法1&#xff1a;使用 fill 函数&#xff08;简单填充&#xff09;% 定义三角形的三个顶点坐标 (x, y) x [0, 1, 0.5]; % …

Postman自动化测试提取相应body体中的参数

文章目录Postman自动化测试提取相应body体中的参数1. 示例响应 Body 参数2. 提取响应 Body 参数Postman自动化测试提取相应body体中的参数 上一篇的文中介绍了使用postman自动化测试时从响应的header中提取token参数&#xff0c;很多同学私信问如何从响应体body中提取参数。 有…

vue-39(为复杂 Vue 组件编写单元测试)

实际练习:为复杂 Vue 组件编写单元测试 单元测试对于确保复杂 Vue 组件的可靠性和可维护性至关重要。通过隔离和测试代码的各个单元,您可以在开发过程的早期发现并修复错误,从而构建更健壮和可预测的应用程序。本课程重点介绍为复杂 Vue 组件编写单元测试的实用方面,建立在…

c语言中的函数IV

函数的先后关系 直接把函数放在程序上方是可以的 在实际开发中&#xff0c;我们更希望把main函数放在前面 这样子直接把自己定义的函数放在main函数下方&#xff0c;编译会出现warning和error正确的解决方案是&#xff1a;把函数的头放到main函数上方&#xff0c;这样就能正常…

大模型Decoder-Only深入解析

Decoder-Only整体结构 我们以模型Llama-3.1-8B-Instruct为例&#xff0c;打印其结构如下&#xff08;后面会慢慢解析每一部分&#xff0c;莫慌&#xff09;&#xff1a; LlamaForCausalLM((model): LlamaModel((embed_tokens): VocabParallelEmbedding(num_embeddings128256,…

web网页,在线%电商,茶叶,商城,网上商城系统%分析系统demo,于vscode,vue,java,jdk,springboot,mysql数据库

经验心得 这也是帮之前一客户加了几个功能&#xff0c;需要掌握crud&#xff0c;前后端开发&#xff0c;前后端怎么对接&#xff0c;前后端通讯是以那种格式&#xff0c;把这些掌握后咱们就可以进行网站开发了。后端记好一定要分层开发&#xff0c;不要像老早一起所有代码写到一…

MybatisPlus-05.核心功能-条件构造器

一.条件构造器 我们前面使用的MP功能主要是根据id进行操作的&#xff0c;并未涉及到复杂查询。而根据id所进行的增删改查操作在MP中都有直接的封装。但是遇到复杂的查询条件时&#xff0c;如何使用MP进行操作是我们要考虑的问题。因此MP为我们提供了条件构造器。 在BaseMapper…

ES6从入门到精通:常用知识点

变量声明ES6引入了let和const替代var。let用于声明可变的块级作用域变量&#xff0c;const用于声明不可变的常量。块级作用域有效避免了变量提升和污染全局的问题。let name Alice; const PI 3.1415;箭头函数箭头函数简化了函数写法&#xff0c;且自动绑定当前上下文的this值…

51单片机教程(十一)- 单片机定时器

11、单片机定时器 项目目标 通过定时器/计数器实现流水灯控制。知识要点 定时器的结构。TMOD和TCON;定时/计数器工作方式;定时/计数器编程步骤;1、项目分析 前面的流水灯的时间控制通过空循环语句来实现,定时不是很精确。本章通过用定时器来控制流水灯任务可以实现精确的时…

基于opencv的疲劳驾驶监测系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业多年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了多年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

Vue 2 和 Vue 3 区别

1. 响应式系统原理 Vue 2&#xff1a;利用Object.defineProperty()实现属性拦截。存在局限性&#xff0c;无法自动监测对象属性增减&#xff0c;需用Vue.set/delete&#xff1b;数组变异方法要重写&#xff1b;深层对象递归转换性能差。Vue 3&#xff1a;采用 ES6 Proxy代理对…

mv重命名报错:-bash:syntax error near unexpected token ‘(‘

文章目录 一、报错背景二、解决方法2.1、方法一&#xff1a;文件名加引号2.2、方法二&#xff1a;特殊字符前加\进行转义 一、报错背景 在linux上对一文件执行重命名时报错。原因是该文件名包含空格与括号。 文件名如下&#xff1a; aa &#xff08;1).txt执行命令及报错如下…

AWS 开源 Strands Agents SDK,简化 AI 代理开发流程

最近&#xff0c;亚马逊网络服务&#xff08;AWS&#xff09;宣布推出 Strands Agents(https://github.com/strands-agents/sdk-python)&#xff0c;这一开源软件开发工具包&#xff08;SDK&#xff09;采用模型驱动的方法&#xff0c;助力开发者仅用数行代码即可构建并运行人工…

利用 AI 打造的开发者工具集合

如图. 我利用 AI 开发了这个网站花了半个小时. 目前就上了 四个 我想到的工具。 大家可以自行体验下&#xff1a;https://xiaojinzi123.github.io 本文并不是宣传什么产品. 只是感概 Ai 真的改变我的工作方式啊. 虽然现在 AI 对于一些已有的项目进行更改代码. 由于不了解业务,…

[自然语言处理]计算语言的熵

一、要求利用给定的中英文语料&#xff0c;分别计算英语字母、英语单词、汉字、汉语词的熵&#xff0c;并和已公开结果比较&#xff0c;思考汉语的熵对汉语编码和处理的影响。二、实验内容2.1 统计英文语料的熵1.代码(1)计算英文字母的熵import math #计算每个英文字母的熵 def…

如何处理“协议异常”错误

在Java中&#xff0c;“协议异常”通常是指在网络通信或者处理特定协议相关操作时出现的异常。以下是一些处理“协议异常”错误的方法&#xff1a;一、理解协议异常的类型和原因HTTP协议异常原因&#xff1a;在进行HTTP通信时&#xff0c;可能会因为请求格式错误、响应状态码异…

Spark 4.0的VariantType 类型以及内部存储

背景 本文基于Spark 4.0 总结 Spark中的 VariantType 类型,用尽量少的字节来存储Json的格式化数据 分析 这里主要介绍 Variant 的存储,我们从VariantBuilder.buildJson方法(把对应的json数据存储为VariantType类型)开始: public static Variant parseJson(JsonParser …

跨越十年的C++演进:C++20新特性全解析

跨越十年的C演进系列&#xff0c;分为5篇&#xff0c;本文为第四篇&#xff0c;后续会持续更新C23~ 前3篇如下&#xff1a; 跨越十年的C演进&#xff1a;C11新特性全解析 跨越十年的C演进&#xff1a;C14新特性全解析 跨越十年的C演进&#xff1a;C17新特性全解析 C20标准…

LeetCode--40.组合总和II

前言&#xff1a;如果你做出来了39题&#xff0c;但是遇到40题就不会做了&#xff0c;那我建议你去再好好缕清39题的思路&#xff0c;再来看这道题&#xff0c;会有种豁然开朗的感觉解题思路&#xff1a;这道题其实与39题基本一致&#xff0c;所以本次题解是借着39题为基础来讲…

Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化

目录 一、 开启电脑虚拟化 1. 搜索并打开控制面板 2. 点击程序 3. 点击启用或关闭 Windows 功能 4. 打开相关功能 5. 没有Hyper-V的情况&#xff1a; 二、配置环境 1. 更新 WSL 到最新版 2. 设置 WSL 2为默认版本 3. 安装 Ubuntu 三. WSL 迁移到D盘 1. 停止运行wsl…