cursor 编程经验分享 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chutianyao
V2EX    Cursor

cursor 编程经验分享

  •  
  •   chutianyao 46 天前 1151 次点击
    这是一个创建于 46 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近使用 cursor 做了一个项目,在 1 个月内写了几万行纯 c 的嵌入式代码,达到交付量产的标准了,完全是 cursor 写的代码,我自己没有写一行. (当然我有足够的经验,自己写也能做出来,只是可能会花更长的时间)

    有几点经验可以分享下(基于当前时间节点-2025 年 8 月):

    1.生成代码一定要选择 sonnet-4 模型,不要选 auto 这是最重要的一点,很多新手容易忽略. auto 模式下很可能会使用非常智障的模型,生成的代码几乎不可用(法准确理解你的意图)--这也是很多人觉得 cursor 生成的代码质量不行的原因.

    2.trouble shooting 可以尝试 gpt-5 在排查一些疑难杂症时,gpt-5 比 sonnet-4 更靠谱,我在排查多线程、多级生产者消费者队列的问题时,gpt-5 能够根据日志直接定位到根因,而 sonnet-4 确给出了似是而非的结论,容易误导人.

    3.确实存在降智现象 当你发现 sonnet-4 模型生成的代码质量很差时,那就是遇到降智了. 解决办法是,换 ip,不要用香港 ip,最好美国、日本 ip

    4.在某些领域,生成的代码远比我们写的好,还快 主要是一些标准算法、流程等领域,例如图像编码、多线程、数据结构(缓冲区队列)、开源模型推理、标准算法、等领域,生成的代码又快又好,几乎没有 bug,已经完全可以取代手工写代码了

    5.可以帮我们看文档
    我将硬件相关的一堆接口资料示例代码丢给模型,然后告诉模型我需要啥、有哪些注意事项,他就会从大量的接口文档中找到合适的 api,然后自己把流程串起来、构造参数、进行异常处理等,总之就是直接生成可以使用的代码.按照传统的项目开发流程,熟悉海量的文档都要花不少时间;而这次整个项目做完,我甚至都没细看硬件到底提供了哪些接口.

    6.定期重构、小步快跑
    模型生成的代码虽然能跑,但并非完美无缺,长期累积下来,你会得到一堆看起来运行的还不错的屎山代码,对于人类程序员来说,“可维护性”太差. 因此需要定期进行重构,使其架构、模块划分更适合人类的 taste,否则积重难就不好处理了. 然而我有点怀疑:对人类来说架构混乱、可维护性差,真的是一个问题吗? 也许对于 AI 来说,这根本就不是一个问题,他生成的代码才是最合理的架构--只是我们人类程序员太弱了?

    1 条回复    2025-09-18 14:59:00 +08:00
    sjdeak
        1
    sjdeak  
       25 天前
    感谢分享
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5519 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 07:32 PVG 15:32 LAX 00:32 JFK 03:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86