还是用不来 copilot 写代码。

359 天前
 xiaotianhu
很多人安利 github copilot ,感觉是写代码的神器。

为什么我用起来只感觉这玩意拖累我呢。

你写一段开头,要想着怎么写一个开头让 AI 能更好的补全,注释要怎么去引导,像一个 prompt ;
然后等着它弹出补全,再阅读一下;
然后读者读着,你的思路就被它带走了,然后得想一下自己是想咋写的,再对比下它写的;
如果发现它写的不对,可能要换个 prompt 的方式,或者都删了自己写。

结果就是经常在这种循环里,感觉自己很分裂,思路更加支离破碎了。什么心流,flow ,不存在的,感觉完全在跟另一个人较劲,不停的 code review ,找毛病。

而用 GPT 就不一样,任务是明确的,交互过程更主动可控,思路更加完整连贯,这才真真是代码好助手。
6670 次点击
所在节点    程序员
44 条回复
elechi
359 天前
就按照自己的思路写呗,弹出来啥有用就用,没用就过
uni
359 天前
我也用不惯,至今还在用 tabnine 的 popup 模式,就跟普通的补全类似但是更智能一点,这个好用
wonderfulcxm
359 天前
哈哈,我最早写程序的时候为了防干扰甚至还特意关掉 IDE 里的代码补全,主程看了觉得不可思议,估计他觉得这人是不是傻,后来习惯了觉得还是弊大于利,copilot 好像没什么影响,思路都是先想好再写,它只是一个更高级的代码补全。
8355
359 天前
如果你想让他生成更好的代码最好注释写英文 更准确 不准确是因为你的 prompt 还不够好

目前方法名写的好 哪怕不写注释生成的代码都是 80+%基本可用只需要微调即可

idea 包括数据库配置和数据结构添加良好的标准注释有利于后续代码的生成
wxw752
359 天前
我用的很爽呀 大部分代码只需要微调就可以了。
pi1ot
359 天前
每次跳出来都是一次思路的打断,我也用不来。
lyyQAQ
359 天前
同意楼上的,它最大的作用就是作为高级代码补全工具
optional
359 天前
同用不惯,除非写一个不太熟悉的语言项目
Saitama
359 天前
@wonderfulcxm 牛 b 。我见过的程序员都是面向 IDEA 编程。没代码提示直接不会写代码了。
defage
359 天前
你可以试试多写注释,这样等你后面再写其他代码时,可以先写注释,你会发现它已经能按照你以往的方式,按照你写的注释生成一整块代码了,甚至一整个 class 。

比如 java 的时候,能很快帮你生成一整个枚举
coldmonkeybit
359 天前
同意 #4 ,而且我感觉自己代码的上下文越清晰,推导结果越准确。

例如在实现一个全新的类(而不是修改一个已有的)的时候,这个时候你的逻辑一般是比较丝滑的,copilot 的提示就变得非常准确。
nanvon
359 天前
我个人(前端)用的还挺习惯,大概有 30% 的代码是生成的,我主要是生成一些重复性较高的代码(刚开始提示的效果很差,多写一会,提示的就很准确了)。或者写一行注释,生成较简单的代码。如果想要复杂一点的代码,就不靠谱了,就必须靠 ChatGPT 了。

比如调几个增删改查的接口,先写好新增接口,换行写注释:// 修改接口 就会自动按照新增接口的模板来生成了
hangbale
359 天前
变量名,方法名尽量要语义化一点,看一眼就知道它是什么作用,这样 ai 的预测会更精准。
我已经离不开这玩意了,vscode 里就留着这一个插件,其他无关的都已卸载
JayZXu
359 天前
我觉得 copilot 在无注释情况下的补全不太好用,感觉很打乱思路
所以我现在养成打注释的习惯
在这个情况下补全可用性大大提高,只需要部分修改就能用。
而且代码的可读性也大大增强
otakustay
359 天前
在 AI 时代,你不再是工具的绝对统治者和使用者,要慢慢的改变自己成为 AI 的陪伴者和协作者,转变身份习惯起来,重构自己的工作模式,让 AI 融入到自己的工作流里面来,等这一次痛苦的转变完成后,会发现生产力确确实实的有大幅度的提高
otakustay
359 天前
我现在知道什么时候 Copilot 大概率补得靠谱,什么时候不靠谱,知道什么时候等它一下什么时候不等直接敲代码,知道前面的代码写成什么形式能更让 Copilot 读懂并补出正确的,知道应该怎么加适当的注释帮助它生成比我注释多得多的代码提高效率
纵使能找出 100 个理由说某个 AI 工具不好用,但它的存在又切实地让别人变得比你更高效了。自身的这种变化在未来是必须的,变不过来就只能原地踏步自我满足了
ysicing
359 天前
Copilot 对于我来说,最大的好处就是写英文注释了😂
encro
359 天前
我很习惯 copilot ,因为我一直都是注释优先代码,且注释解析 why ,代码(方法名)解析 how 。
devilweime
359 天前
重复性代码好用,其他的就能用就用
Tanix2
359 天前
对于简单、重复的代码,Copilot 很擅长,我一般让它帮我自动补全这种东西

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937853

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX