Cursor 老改坏代码?六哥这几招超管用!
大家好,我是六哥!最近不少小伙伴和我吐槽,在使用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 老改坏代码?六哥这几招超管用!的更多相关文章
- OO之美4(好代码与坏代码)
前言:写代码不仅仅要做到能与机器交流,更要做到能和人交流 编码规范:编码规范就是最佳实践,是前辈在编码这件事上的积累和总结,是智慧的延续和工业的实践,如下: ⑴命名规范 ⑵避免行数过多的方法 ⑶代码缩 ...
- 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)
原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <student ...
- /etc/profile文件被改坏导致命令不可用
这几天在装一个软件,设置环境变量的时候,不小心把/etc/profile文件改坏了(就是没配置对),在source /etc/profile后导致所有命令都不可用了.出现如下报错: -bash: xx ...
- java中CRUD(增删查改)底层代码的实现
java中CRUD(增删查改)底层代码的实现: package com.station.dao; import com.station.model.Product; import java.sql.* ...
- Ubuntu改坏sudoers后无法使用sudo的解决办法
练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 总提示如下信息: >>& ...
- 【转载】sudoers改坏后无法使用sudo的解决办法
练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 提示如下信息: >>&g ...
- 代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
- PHP童鞋改JAVA代码怎么处理
用线上升级平台代码练手,学习JAVA.飞哥建议我们自己从头再搭建一套,提高会大.我自己作为一个JAVA出身的人,用了几天时间学会PHP的经验来看.最好,先在原来代码基础上改些东西.熟悉了基本语法之后再 ...
- 取消开机logo,改成代码刷屏
将开机logo改成开始时代码刷屏,这样就能很方便看到开始时的一些问题 首先 sudo chmod 666 /etc/default/grub 然后将 GRUB_CMDLINE_LINUX_DEFAUL ...
- 改改"坏"代码
程序猿很多时候费了九牛二虎之力使用各种黑科技实现了某个功能,终于可以交差,但整个过程就像个噩梦,一般人是不太愿意回过头去阅读自己写的代码的,交出去的代码就让它如往事般随风吧. 可你不愿读自己的代码,却 ...
随机推荐
- DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计
Insecure CAPTCHA(不安全验证) Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类)机制时,未能有效保护用户输入的验 ...
- 探索Python @dataclass的内部原理
之前写过一篇介绍Python中dataclass的文章:<掌握python的dataclass,让你的代码更简洁优雅>. 那篇侧重于介绍dataclass的使用,今天想探索一下这个有趣的特 ...
- Diary -「NOI 2022」尘降
又一次,以这样一种身份来到国赛赛场.起跑线延长出赛场外,我将于此开始又一场已知"无用"的竞技. 虚无中 我的尘埃盲目漂泊摇晃 时间回到数个月前的省选,\(600\) 分的总 ...
- CDS标准视图:应收账龄表 I_ARJrnlEntrItmAgingGrid
视图名称:应收账龄表 I_ARJrnlEntrItmAgingGrid 视图类型:参数 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IARJEITMAGGRID' ...
- MySQL 中information_schema、mysql、performance_schema、sys 简介
一.information_schema简介在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息. ...
- SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis
1.购买云服务器 购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup 后面的环境都是基于此环境Centos7.6: 2.安装 Secu ...
- 在 Windows 10 上实现免密码 SSH 登录
前言 在日常开发中,SSH(Secure Shell)作为一种安全的远程登录协议,广泛用于 Linux 和 Windows 系统之间的连接.为了提高效率,我们可以通过配置免密码登录,省去每次连接时输入 ...
- 小程序uView中loadMore 加载更多
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText& ...
- 开源数据库生态遇新变数,天翼云TeleDB提供企业数据管理更优解!
近日,知名开源大规模并行处理 (MPP) 数据库Greenplum的源代码在其官方GitHub页面突然消失,引发了用户和开发者的广泛关注, PostgreSQL生态系统或将产生新变数.开源软件在面对商 ...
- 将文件转换为文件流进行上传(例:通过HDMI进行传输)
package com.boottest.app; import org.apache.commons.codec.Charsets; import org.apache.http.HttpEntit ...