大家好,我是六哥!最近不少小伙伴和我吐槽,在使用Cursor时,AI老是把代码改坏,让人头疼不已。我自己也用了大几十个小时Cursor,今天就来给大家分享一些实用小窍门,教大家如何巧妙规避这类问题。

一、项目开始,搭建“行动指南”

在项目根目录下创建一个名为“.cursorrules”的文件,这就相当于给AI制定了一份“行动指南”。文件里详细写上代码开发的提示词,涵盖角色设定、项目目标、项目初始化步骤、需求分析与开发要点、代码编写规范、问题解决思路,以及项目总结优化等内容。举个例子:

# Role
你是一个XX开发专家……
# Goal 在理解用户需求、编写代码和解决问题时,你应始终遵循以下原则: ## 第一步:项目初始化 ## 第二步:需求分析和开发 ### 理解用户需求时: ### 编写代码时:
-SwiftUI项目结构:(这里以IOS开发为例) -SwiftUI UI设计规则:(这里以IOS开发为例) ### 解决问题时: ## 第三步:项目总结和优化

不仅如此,你还可以把项目的具体开发内容也写进去。比如

# Project
目前需开发一款XX功能的iOS APP,其中包含的功能:
##1. XX功能:详细功能、布局、样式等等
##2. ……

有了这份指南,AI每次基于代码库创建代码时,都会严格参照执行。

二、开发过程,及时测试

在使用不太熟悉的编程语言开发项目时,建议在Cursor交互的第二三轮就开始测试运行。千万别等代码量积累得很多了才去测试,到那时,调试的成本极高,耗费大量时间不说,甚至可能导致项目需要重建。另外,每次增加新功能后,都要立刻进行测试,确保代码能正常编译和运行,再进行功能优化。

三、巧用工具,保驾护航

Git和Cursor的restore功能堪称“救星”。每次完成一个新增功能,或者搭建好一个MVP版本,都要及时使用Git将代码上传到代码仓库。这样一旦出现问题,就能轻松回滚到之前的版本。

此外,如果遇到反复修补都解决不了的bug,还能通过Cursor自带的restore功能。

向上翻阅历史交互记录,回滚到指定交互记录前的代码版本。

四、精准引导,避免混乱

哪怕对当前编程语言不太熟悉,至少要清楚项目中每个功能所在的具体代码文件和模块位置。不清楚的话,直接向AI提问就行。在后续精细化处理功能时,明确指定对应模块名称,避免AI误解需求。也可以让AI输出一份features.md文档,详细记录每个功能模块、实现方法、UI样式和字体等参数。另外,将画好的原型图粘贴到Cursor的聊天框里,让AI更直观地了解界面布局。还能在设置界面的“rules for AI”中,写上禁止随意删改的规则,约束AI的“自由发挥”。

五、明确指令,及时验证

在让AI变更功能时,务必给出详细的指令,并在最后加上“其他功能不动”“其他功能逻辑不做改动”“最小化代码改动”“复用XX功能逻辑”等限定词。每次AI修改代码后,都要及时编译验证,确认其他功能是否受到影响。

我看到北海章鱼留言说,昨晚让AI加个小功能,结果几天做好的功能全被改废了,最后只能通过Git历史手动回滚。其实,复杂项目中AI有时会“失忆”,但只要掌握上面这些方法,就能大大降低AI改坏代码的概率,让开发过程更加顺畅!

Cursor 老改坏代码?六哥这几招超管用!的更多相关文章

  1. OO之美4(好代码与坏代码)

    前言:写代码不仅仅要做到能与机器交流,更要做到能和人交流 编码规范:编码规范就是最佳实践,是前辈在编码这件事上的积累和总结,是智慧的延续和工业的实践,如下: ⑴命名规范 ⑵避免行数过多的方法 ⑶代码缩 ...

  2. 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

    原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <student ...

  3. /etc/profile文件被改坏导致命令不可用

    这几天在装一个软件,设置环境变量的时候,不小心把/etc/profile文件改坏了(就是没配置对),在source /etc/profile后导致所有命令都不可用了.出现如下报错: -bash: xx ...

  4. java中CRUD(增删查改)底层代码的实现

    java中CRUD(增删查改)底层代码的实现: package com.station.dao; import com.station.model.Product; import java.sql.* ...

  5. Ubuntu改坏sudoers后无法使用sudo的解决办法

    练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 总提示如下信息: >>& ...

  6. 【转载】sudoers改坏后无法使用sudo的解决办法

    练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 提示如下信息: >>&g ...

  7. 代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码

    代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码

  8. PHP童鞋改JAVA代码怎么处理

    用线上升级平台代码练手,学习JAVA.飞哥建议我们自己从头再搭建一套,提高会大.我自己作为一个JAVA出身的人,用了几天时间学会PHP的经验来看.最好,先在原来代码基础上改些东西.熟悉了基本语法之后再 ...

  9. 取消开机logo,改成代码刷屏

    将开机logo改成开始时代码刷屏,这样就能很方便看到开始时的一些问题 首先 sudo chmod 666 /etc/default/grub 然后将 GRUB_CMDLINE_LINUX_DEFAUL ...

  10. 改改"坏"代码

    程序猿很多时候费了九牛二虎之力使用各种黑科技实现了某个功能,终于可以交差,但整个过程就像个噩梦,一般人是不太愿意回过头去阅读自己写的代码的,交出去的代码就让它如往事般随风吧. 可你不愿读自己的代码,却 ...

随机推荐

  1. vs2017 iisexpress 绑定自定义域名

    1.项目根目录找到 项目/.vs/config/applicationhost.config 2.添加绑定域名 <site name="demo" id="2&qu ...

  2. ThreeJs-12使用着色器加工材质

    一.three框架材质原理与应用 其实three里面所有的材质不管是基础还是点等等之类最终都会编译为shader然后执行,所以如果拿到一个材质我想对某个地方小改一下,那么也是可以用shader来进行修 ...

  3. Solution Set -「NOIP Simu.」20221024

    \(\mathscr{A}\sim\) 断   给定一棵含有 \(n\) 个点的树, 所有点初始时为白色. 再给出 \(m\) 个形如 \((u,v)\) 的点对, 要求 \(u\) 到 \(v\) ...

  4. Ceisum三维场景demo

    技术栈&资源 框架:EarthSDK(基于cesium二次开发包) 底图:Arcgis公开地图服务 楼栋白膜:自有shape数据,使用CesiumLab切片为tileset.json glb模 ...

  5. Win10部分软件程序中输入中文变成问号??如何处理【详细步骤】

    近期在win10系统中,出现了一个问题,那就是在部分程序软件中输入中文之后,会直接显示问号,哪怕是更换输入法也没有任何用.那么遇到这个问题,我们要如何处理呢?下面IT百科分享一下Win10系统部分软件 ...

  6. 小程序 uni-app动态更改标题

    uni-app动态更改顶部标题 uni-app uni.setNavigationBarTitle({ title: '编辑班级荣誉' }) 小程序 wx.setNavigationBarTitle( ...

  7. react验证参数格式类型

    首先你需要下载 cnpm i prop-types 安装验证数据类型的插件: 子组件 import React, { Component } from "react"; impor ...

  8. 容器的优势,在Docker中运行Tomcat

    本文分享自天翼云开发者社区<容器的优势,在Docker中运行Tomcat>,作者:d****e 一.容器与虚拟机的区别是什么 虚拟机:虚拟机是通过Hypervisor(虚拟机管理系统,常见 ...

  9. 基于Trae开发的自动表关联查询工具

    对于复杂的一些业务,会涉及很多张表,其间有各种各样的关联关系,在开发&测试过程中,随时需要查看这些表中的数据状态,这种情况下需要我们写一些关联查询的SQL或者多条SQL执行来查看结果,个人感觉 ...

  10. 工业机器人维修保养|ABB机器人IRB 6700维修保养技巧

    通过机器人维修保养服务定制合理的维修保养工作,可以确保ABB机器人IRB 6700的持续稳定运行,延长其使用寿命,为企业的生产提供有力保障. 一.ABB机器人IRB 6700日常检查与维护 外观检查: ...