|
发表于 2023-8-20 20:38:37
|
显示全部楼层
首先我是Copilot重度用户,有Copilot的白嫖使用资格,在仅支持VSCode时使用的比较少,在Visual Studio 2022有copilot插件后,基本是每次代码必用,我日常基本使用C语言,总结一下copilot写C代码的一些特点:
第一、如果说Copilot的代码能用,当且仅当Copilot写的代码刚好是你想写,想这么写,你写出来和Copilot的生成的代码基本一样的情况,你必须审计并清楚的知道生成代码每一行的所有细节及意义,这个代码才能够使用,简单来说,与其说Copilot帮你写代码,不如说Copilot是一个很聪明的秘书,帮你打完了你接下来想打的字,如果靠给注释直接生成稍微长一点点的功能代码,翻车几率极高。
第二、Copilot非常擅长生成类比代码,比如你写了一个NodeRotateLeft(树节点左旋),那么之后你写一个一样的函数NodeRotateRight(树节点右旋),那么Copilot帮你补全的概率极高,并且工作的很好,但需要注意的是,每一个这样的函数你必须对功能参数有明确的定义再生成,否则它很可能会开始胡说八道生成有逻辑漏洞的代码。
第三、如果你自己写的代码有逻辑漏洞或bug,那么Copilot生成出来的代码极大可能也带有同样的逻辑漏洞与bug,所以说如果水平过关的人使用Copilot那是能够提高效率的屠龙刀,水平不过关的人使用那就是对牛弹琴纯属添乱,它是效率放大器,用的是平方而不是加法,水平不到1,自然是越用越乱。
第四、那种非常常见的代码和逻辑功能代码,copilot的补全成功率很高,但一些高度定制化的功能代码,一般需要前面已经写过类似代码提供给copilot“联想”,否者生成的基本不太靠谱。
第五、用的久了你几乎猜得到哪些代码Copilot是能够补全的,哪些代码是可以比较放心让Copilot帮你补全的,这个时候Ctrl+alt+\这个快捷键就很好用了。
总结:是个不错的辅助工具,不是银弹,配合之前的intellicode的提示算是锦上添花,如果你长期将它用在实际项目工作会比较有体会,至于那些写了两个demo代码就得出替代码农然后开始卖课的营销号可以早点洗洗睡了。 |
|