为了账号安全,请及时绑定邮箱和手机立即绑定

Claude代码审查:与Cursor比拼编程助手效能

标签:
Python

图片由作者创作。

我一直都很满意使用 Cursor,但当 Claude Code 出现时,我很好奇它的表现。在 Cursor 之前,我一直在用 GitHub Copilot,从 GitHub Copilot 切换到 Cursor 是一个明显的提升。使用 Cursor 后,我明显感觉到生产力提升和代码质量改善。我很好奇 Claude Code 是否也能像 Cursor 一样,给我带来类似的提升。所以我决定自己试试看。

测试

为了进行我的测试,我决定使用我的开源项目,CoWriter。CoWriter 是一个由 AI 驱动的写作助手,通过多种功能如扩展、简化和批判性反馈来帮助你提高写作水平。它还提供文本反馈并允许你与它聊天,提供了一个直观的界面来实现实时写作改进。该项目结合了 React 前端和 Python 后端,并为测试这两部分提供了良好的挑战。项目仓库地址如下: https://github.com/aadityaubhat/co_writer

CoWriter界面 — https://github.com/aadityaubhat/co_writer

测试1:后端改动

对于第一个测试,我想做一个纯粹的后端修改。我让每个工具将 main.py 重构,使其更易于扩展和伸缩。我的 main.py 文件混乱不堪,把模型、中间件和连接管理器都塞在一个 Python 文件里。

main.py 文件

我用了下面这个提示语来整理这个文件。

让我们通过优化 main.py 来提高它的可扩展性。

Claude 代码

克劳德重新组织了文件中的代码。然而,他并没有像我预期的那样将代码拆分成模块化组件,并且还忽略了部分mypy合规规则。克劳德的最后提交:https://github.com/aadityaubhat/co_writer/commit/29743c603d668218e8c0d8529b9c25c6df8bf558

指针

Cursor 采取了更为大胆的方法,将 main.py 分解成专门的模型和服务器文件。虽然在初次重构时遇到了一些与 Python 导入路径相关的小问题,Cursor 一次性解决了这些问题,最终代码通过了代码格式检查和类型验证。Cursor 的最终提交如下:https://github.com/aadityaubhat/co_writer/commit/b458e43856142808d729f1c7a1d866a6b52b44b6

赢家:Cursor

测试 2:前端变化

接下来,我做了一个简单的变化:在“写作选项卡”中添加了一个与“文档”菜单中的标题同步的框。我提供了以下说明(没有附带图片)。

让我们在UI的“写”标签页中添加文档标题框。这个标题应与左边“文档”菜单中的标题保持一致。

在当前界面中添加文档标题

Claude 的代码

Claude Code 在一次迭代中实现了新功能。然而,它没有自动运行代码清理脚本,我需要手动解决一些代码清理的问题。Claude Code 的最终提交记录:https://github.com/aadityaubhat/co_writer/commit/35f24319a3012fddd5360ac97f5697ac2cd0d47c

光标

光标还添加了文档标题框,并执行了代码规范检查脚本,从而生成了干净、可直接投入生产的代码。Cursor的最终提交:https://github.com/aadityaubhat/co_writer/commit/7d9f1a29e4f6d0cecda2b0d4fee61a133dd4ff4a

结果是平手

测试3:前端+后端改动

对于最终测试,我让两个工具实现一个需要前后端协作的功能。目标是在标题旁边增加一个“文档类型”选择器。下拉菜单应该包括定制、博客、文章、领英、X、Threads和Reddit等选项。当点击操作按钮(展开、缩短、批评)时,所选文档类型会在API调用中被包含,并作为提示发送给语言模型。具体的提示如下:

让我们在标题旁边添加文档类型选择器到前端,文档类型选择器应该是一个下拉菜单,选项有自定义、博客、文章、LinkedIn、X、Threads、Reddit。当按下操作按钮(如保存、发送等)时,我们应该在API调用时传入选中的文档类型。在后端,我们需要更新发送给LLM的提示,使其包含所选的文档类型。

Claude 代码段

Claude同时更新了前端和后端文件,但初始实现并没有达到预期的效果。例如,在扩展X动态中的简要要点时,工具返回了一大段冗余的文本,而不是推文友好的片段。在我指出输出应遵守推文的限制后,Claude迅速调整了其实现并解决了问题,从而达到了预期的行为。克劳德的最终提交链接为:https://github.com/aadityaubhat/co_writer/commit/c39f4b993cbc4ff2ae9d52136f161269865855e5

指针

游标还在一次迭代中对前端和后端进行了必要的修改。然而,它的初始尝试遇到了类似的问题:推文扩展要么返回过多的文字,要么经过调整后变得过于简略。经过多次迭代,我最终得到了还算满意的结果。虽然最终实现了预期的效果,但Claude代码做得更好,需要的尝试也更少。游标的最终提交:https://github.com/aadityaubhat/co_writer/commit/e6401d89681a7123c4656a7ac7b940aebcb49251

Winner: 克劳德·科德

最后

在我的三次测试中,Cursor 和 Claude Code 都展示了独特的优势:

  • Cursor 在后端重构上表现出色,通过实现稳健的模块化和自动化代码审查。
  • Claude Code 在前后端集成改进方面表现出色,尤其是在优化提示语后。

总体而言,这两款工具大致持平(各1.5分),这说明最佳选择最终取决于您的工作流程和环境偏好。偏好传统IDE环境且无缝集成终端的开发者可能更倾向于Cursor,而那些喜欢简洁的终端界面的开发者可能会觉得Claude Code更吸引人。此外,如果您刚刚开始学习或是一名非技术人员,正在寻找一个易于使用的编程工具,Cursor用户友好的界面可能更适合您。值得注意的是,Claude Code对三次简单的更改收费4.69美元,这种方式的费用可能会快速累积,这甚至可能比Cursor每月20美元的订阅费用还要贵,后者提供无限修改次数。

最终你的选择可能取决于你更看重传统IDE的使用体验还是终端操作的效率。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消