1
elechi 2023-05-06 15:31:01 +08:00 2
就按照自己的思路写呗,弹出来啥有用就用,没用就过
|
2
uni 2023-05-06 15:39:34 +08:00
我也用不惯,至今还在用 tabnine 的 popup 模式,就跟普通的补全类似但是更智能一点,这个好用
|
3
wonderfulcxm 2023-05-06 15:48:48 +08:00 via iPhone
哈哈,我最早写程序的时候为了防干扰甚至还特意关掉 IDE 里的代码补全,主程看了觉得不可思议,估计他觉得这人是不是傻,后来习惯了觉得还是弊大于利,copilot 好像没什么影响,思路都是先想好再写,它只是一个更高级的代码补全。
|
4
8355 2023-05-06 16:05:44 +08:00
如果你想让他生成更好的代码最好注释写英文 更准确 不准确是因为你的 prompt 还不够好
目前方法名写的好 哪怕不写注释生成的代码都是 80+%基本可用只需要微调即可 idea 包括数据库配置和数据结构添加良好的标准注释有利于后续代码的生成 |
5
wxw752 2023-05-06 16:09:05 +08:00
我用的很爽呀 大部分代码只需要微调就可以了。
|
6
pi1ot 2023-05-06 16:10:43 +08:00
每次跳出来都是一次思路的打断,我也用不来。
|
7
lyyQAQ 2023-05-06 16:12:33 +08:00
同意楼上的,它最大的作用就是作为高级代码补全工具
|
8
optional 2023-05-06 16:14:21 +08:00
同用不惯,除非写一个不太熟悉的语言项目
|
9
Saitama 2023-05-06 16:24:54 +08:00
@wonderfulcxm 牛 b 。我见过的程序员都是面向 IDEA 编程。没代码提示直接不会写代码了。
|
10
defage 2023-05-06 16:31:45 +08:00 1
你可以试试多写注释,这样等你后面再写其他代码时,可以先写注释,你会发现它已经能按照你以往的方式,按照你写的注释生成一整块代码了,甚至一整个 class 。
比如 java 的时候,能很快帮你生成一整个枚举 |
11
coldmonkeybit 2023-05-06 16:33:58 +08:00
同意 #4 ,而且我感觉自己代码的上下文越清晰,推导结果越准确。
例如在实现一个全新的类(而不是修改一个已有的)的时候,这个时候你的逻辑一般是比较丝滑的,copilot 的提示就变得非常准确。 |
12
nanvon 2023-05-06 16:34:55 +08:00
我个人(前端)用的还挺习惯,大概有 30% 的代码是生成的,我主要是生成一些重复性较高的代码(刚开始提示的效果很差,多写一会,提示的就很准确了)。或者写一行注释,生成较简单的代码。如果想要复杂一点的代码,就不靠谱了,就必须靠 ChatGPT 了。
比如调几个增删改查的接口,先写好新增接口,换行写注释:// 修改接口 就会自动按照新增接口的模板来生成了 |
13
hangbale 2023-05-06 16:37:26 +08:00
变量名,方法名尽量要语义化一点,看一眼就知道它是什么作用,这样 ai 的预测会更精准。
我已经离不开这玩意了,vscode 里就留着这一个插件,其他无关的都已卸载 |
14
JayZXu 2023-05-06 16:41:02 +08:00
我觉得 copilot 在无注释情况下的补全不太好用,感觉很打乱思路
所以我现在养成打注释的习惯 在这个情况下补全可用性大大提高,只需要部分修改就能用。 而且代码的可读性也大大增强 |
15
otakustay 2023-05-06 16:49:31 +08:00
在 AI 时代,你不再是工具的绝对统治者和使用者,要慢慢的改变自己成为 AI 的陪伴者和协作者,转变身份习惯起来,重构自己的工作模式,让 AI 融入到自己的工作流里面来,等这一次痛苦的转变完成后,会发现生产力确确实实的有大幅度的提高
|
16
otakustay 2023-05-06 16:51:33 +08:00
我现在知道什么时候 Copilot 大概率补得靠谱,什么时候不靠谱,知道什么时候等它一下什么时候不等直接敲代码,知道前面的代码写成什么形式能更让 Copilot 读懂并补出正确的,知道应该怎么加适当的注释帮助它生成比我注释多得多的代码提高效率
纵使能找出 100 个理由说某个 AI 工具不好用,但它的存在又切实地让别人变得比你更高效了。自身的这种变化在未来是必须的,变不过来就只能原地踏步自我满足了 |
17
ysicing 2023-05-06 16:55:44 +08:00 1
Copilot 对于我来说,最大的好处就是写英文注释了😂
|
18
encro 2023-05-06 17:23:19 +08:00
我很习惯 copilot ,因为我一直都是注释优先代码,且注释解析 why ,代码(方法名)解析 how 。
|
19
devilweime 2023-05-06 17:32:23 +08:00
重复性代码好用,其他的就能用就用
|
20
Tanix2 2023-05-06 17:47:07 +08:00 via iPhone
对于简单、重复的代码,Copilot 很擅长,我一般让它帮我自动补全这种东西
|
21
CEBBCAT 2023-05-06 17:53:20 +08:00
copilot 就是基于 GPT 吧,楼主描述的现象确实没错,我的建议是只用它来编写 30 行以内的逻辑,对我来说最频繁的使用场景是 if err != nil {log.Errorf()},以及一些 DAO.Get() 这样千篇一律的代码。
如果需要写一个大一些的逻辑,比如带重试等等逻辑的,建议一两次尝试失败后自己分拆逻辑,然后一段一段地生成 |
22
pkoukk 2023-05-06 18:45:41 +08:00 3
好好写变量名,函数名,多写抽象类
手动搭好骨架,剩下让他发挥 |
23
THESDZ 2023-05-06 22:06:45 +08:00
我写代码,一般先写接口 /抽象类 /方法名,命名也很规范
而实现基本都交给 copilot 我的体验是: copilot 非常的好用! |
24
fresco 2023-05-06 22:31:42 +08:00 via iPhone
我主要是让它干一些苦活累活重复的活儿,又快又准确
|
25
likunyan 2023-05-06 23:01:38 +08:00
同感,不过还是依赖它,有时候给我弹出我没用过的东西,然后 get 到了。
|
26
TWorldIsNButThis 2023-05-06 23:10:23 +08:00
实践 typestate pattern 让它填充内部 mapping 逻辑的话还行
|
27
debuggerx 2023-05-06 23:16:17 +08:00 via Android
AI 写的代码太无聊了,缺乏美感,不够骚,所以我不用。
|
28
huijiewei 2023-05-06 23:33:06 +08:00
我用拼音命名 copilot 的确不好用。囧
|
29
yyss8 2023-05-06 23:58:51 +08:00 via iPhone
我的基本只用来写英文注释
偶尔能出些有用的代码 但是要先写注释 太麻烦了 |
30
ns09005264 2023-05-07 00:33:34 +08:00
我觉得生成的代码蛮符合我要求的,有时候还教我怎么写,对我来说还是很有用的。
|
31
2kCS5c0b0ITXE5k2 2023-05-07 03:12:11 +08:00
用 copilot 要先写注释. 写好了在慢慢调整. 一些简单重复的很多很快就搞定了
|
32
woshipanghu 2023-05-07 09:37:15 +08:00
逻辑尽量拆小一点
我用的非常舒服 一些函数都不用再去查了 |
33
ganbuliao 2023-05-07 10:10:12 +08:00
写重复性的代码太好用了吧
适合 已经整理好了一个思路 然后 copilot 完善代码 |
34
Rannnnnnn 2023-05-07 12:15:07 +08:00
顺其自然不就好了吗
|
35
rrfeng 2023-05-07 14:04:48 +08:00 via Android
提示出来一眼看过去跟自己预想的是不是差不多。差不多的话就用它然后修修。
差的多或者看不懂的话就直接忽略。 差不多的意思不止包括代码功能差不多,代码结构差不多也行…反正帮助少敲键盘也是一种帮助。 |
36
chaogao2016 2023-05-07 14:28:28 +08:00
+1 ,重新性代码用它来解放双手
|
39
SmiteChow 2023-05-08 09:44:05 +08:00
用 AI 写代码的都是工作量不饱和
|
40
wuchujie 2023-05-08 14:50:49 +08:00
有人跟我一样用 nvim
``` copilot windwp/nvim-autopairs |
41
wuchujie 2023-05-08 14:51:29 +08:00
|
42
xiaotianhu OP @huijiewei 哈哈 你赢了( AI 一败涂地
|
43
xiaotianhu OP |
44
wuchujie 2023-05-08 16:03:48 +08:00
@xiaotianhu
github 有个 issue https://github.com/orgs/community/discussions/46277 想问一下有没有同样遇到这个问题的。。看怎么解决 |