最近用Cursor(Claude 3.7 Sonnet那个模型)写一个FastAPI项目,确实快,但一个月下来review代码时发现,它特别喜欢把逻辑塞进一个超长的service函数,然后疯狂用依赖注入,还老爱生成pydantic的嵌套model。我原本习惯写扁平一点的模块结构,现在感觉自己的代码风格被它悄悄改写了,有点别扭。
楼主
25天前
用Cursor写后端一个月,感觉代码风格被它带偏了,大家有这问题吗?
请 登录 后发表回复
全部回复
共 43 条
2楼
2天前
同感,用久了确实会被它带节奏,我现在都刻意先自己写骨架再让它填。
3楼
1天前
这个我倒是有类似感受,不过可能跟你的情况稍微有点不一样。我用Cursor写Go的时候,它确实也倾向于把很多东西往一个函数里堆,尤其是接口实现那块,动不动就给你来一大坨,看着就累。后来我发现了,它其实是在模仿你项目里已有的模式,如果你一开始让它生成的时候没给特别明确的约束,它就会默认往“能跑就行”的方向优化,而不是往“好维护”的方向。我现在一般会在.cursorrules里写清楚函数长度上限和模块拆分原则,效果会好不少。至于依赖注入和pydantic嵌套,我觉得这个跟FastAPI生态本身有关系,模型训练数据里这类写法占比太高了,它只是忠实地反映了社区主流风格。但说实话,被带偏这件事本身挺值得警惕的,因为等你习惯了它的输出再回去写自己的东西,会发现自己下意识也在往那个方向靠。我现在的做法是每隔一段时间就关掉AI补全,纯手写几天,算是给自己做个风格校准。
4楼
11小时前
我也有类似的感觉,不过我倒觉得不是被带偏,更像是被它训练出了某种惯性。它默认那套pydantic嵌套确实挺重,我后来直接在.cursorrules里写死“service函数不超过30行,model扁平化”,情况好很多。其实关键还是得自己先想清楚结构,再让它填肉,不然它就会按最容易生成的套路来。你试过用rules约束它吗,还是完全靠review往回改?