大家好,我是六哥!最近不少小伙伴和我吐槽,在使用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. 【狂神说Java】Java零基础学习笔记-Java入门

    [狂神说Java]Java零基础学习笔记-Java入门 Java入门01:Java帝国的诞生 C&C++ 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 ...

  2. Solution Set -「LOCAL」冲刺省选 Round X

    \(\mathscr{Summary}\)   时间利用效率?   同学,你的效率呢?   我真不知道中途几个小时干了啥,我也不知道我实在划水.神游还是真的在自闭想题.   虽然真实考场肾上腺素不会允 ...

  3. .NET8.0多线程编码结合异步编码示例

    1.创建一个.NET8.0控制台项目来演示多线程的应用 2.快速创建一个线程 3.多次运行程序,可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使 ...

  4. 一文搞懂企业架构与DDD融合

    大家好,我是汤师爷~ 今天聊聊企业架构与DDD如何进行融合. 企业架构TOGAF 什么是企业架构TOGAF? TOGAF(The Open Group Architecture Framework)是 ...

  5. shell脚本中的循环(for循环,while循环)及break、continue的用法示例

    Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的.常用到的循环有for循环和while循环.下面就分别介绍一下两种循环的结构. [for循环]: Shell脚本中的for循环示例: # ...

  6. JAVA8——StringJoiner类

    引言:在阅读项目代码是,突然看到了StringJoiner这个类的使用,感觉很有意思,对实际开发中也有用,实际上是运用了StringBuilder的一个拼接字符串的封装处 介绍 StringJoine ...

  7. AAAT 笔记(P5649)

    实际上去掉主函数不长于线段树 3. 对于 LCT 每个点的虚儿子.用 splay 把它们串起来(称为新 splay,虽然是共用的). 具体来说,设 \(1\le x\le n\) 是原 LCT 的 s ...

  8. Qt项目下pro文件设置库路径

    问题 正常情况下我们会将工程的路径用一个变量来储存 例如: PROJECT_DIR=/home/$$(USER)/svn/embd_linux/app 然后后面的变量引用这个变量,例如: INCLUD ...

  9. 什么是A型或者B型剩余电流保护器?

    我国的剩余电流保护装置(RCD)指导性标准GB/Z 6829-2008(IEC/TR 60755:2008,MOD)<剩余电流动作保护器的一般要求> 从产品的基本结构.剩余电流类型.脱扣方 ...

  10. Redis主从、哨兵

    之前安装了redis,但是单节点redis不可靠,现在搭建redis主从,提高可用性. 一.搭建一主二从 redis主从其实是读写分离,主节点写数据,从节点读数据. 1.准备三台redis机器.red ...