searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

新手小白借助AI入门go开发

2025-04-01 09:40:06
16
0
  • 背景

最近参加了xnet控制器的开发项目,我之前没有过开发经验,也没接触过go语言,只有在上学时有python基础。本文记录我如何快速上手go开发,可供新手小白参考。我用到的AIdeepseek和文心快码,听说cursor很好用,之后可以试试。

  • 读懂代码

在接触到这个新项目时,我需要先读懂别人的代码。我选取了几个较短的代码,用VS Code的扩展“文心快码BAIDU COMATE”帮我解读。先将整个文件复制到对话框,他会用简要文字概括代码的作用,选取关键方法,解释用处和各种字段。了解通篇代码的含义后,我需要理解每一段代码的逻辑。安装了COMATE后,在每段代码的上方有一些功能按键,代码解释、函数注释、行间注释、添加日志、生成单测、函数拆分、调优建议。我点击“代码解释”,COMATE将代码拆分,细化解释这个方法的接收者、参数、返回值、方法逻辑、错误处理。


再点击“生成单测”,可以看到这个方法的输入示例和预期结果,包括各类正常值、异常值的处理,都能从单测看出来。


由于之前没接触过go语言,在读代码的同时,看到一些不懂的语法我也在对话框里询问,比如go的变量是怎么申明的,chanmap是怎么用的。COMATE会详细介绍基本概念、如何声明、如何使用、用法示例,这样我在读懂代码的同时,也逐渐熟悉了go语法。


  • 写代码框架

接下来是写自己的代码。我把刚刚读懂的代码发给deepseek,并且告诉他我想实现的功能,输入和输出分别是什么。我要做的是sonich3c bgp network模块的yang翻译,所以我给他发了对应的xml结构体。deepseek会根据已有的代码,参照代码的结构和风格,帮我生成了bgp network模块的代码。当前生成的代码会有很多错误,比如调用的方法名称不对,有些错误判断的逻辑他没有考虑到。但我通过deepseek生成了代码框架,也能参考他想到的一些转换逻辑,后续在这个代码的基础上修改,能加快写代码的速度。


  • 修改代码

在修改代码时,COMATE又体现了很大作用。他有强大的自动补全功能,我写一个注释,或写几个字段,他就能联想到后面几行甚至整段代码。我写的代码越多,他有了更多的代码参考后,补全生成的代码也越准确。我只需要修改他生成的代码,生产力直接翻倍。

在修改代码时,有一些方法是不用我自己写,可以复用的。比如我要做bgp network的功能,其中有一个参数是vrf。我找到之前已开发的一个模块是bgp evpn,其中也有sonich3cvrf转换。我直接调用这个方法,这样既简化了开发过程,又让代码更加简洁。

除了基本的逻辑实现,代码中有一个很重要的部分是使用限制、异常值。因为实际的输入可能不是标准化的形式,我需要考虑到输入异常值、空值,代码中应该怎样判断。考虑全面,才能让代码顺利通过测试。

  • 调试代码

在运行代码的过程中,可能会有各种报错,AI也是调试的好帮手。我把报错信息复制进deepseekCOMATE的对话框,他会分析出错误原因、修改方案、验证方法。

  • 优化代码

在代码全部完成后,我将整体代码复制到deepseek,他会分析出潜在问题和改进思路,如果采纳其中的方案,可以继续问他具体如何修改。


COMATE也能针对每一个方法给出调优建议,还能点击“函数拆分”,将冗长的方法拆分成几个短的方法,并给出每一段的注释。另外点击“行间注释”,可以帮我详细注释每一段代码。用VS Code的这个嵌入式AI插件,修改代码非常方便。


最终,我的代码轻松通过了翻译单测,在代码review时也只需要少量修改,我完成了第一次go的开发。后面再进行go开发时,也不需要用deepseek生成代码框架,直接在VS Code里运用COMATE插件编写就很方便。

0条评论
0 / 1000
c****q
1文章数
0粉丝数
c****q
1 文章 | 0 粉丝
c****q
1文章数
0粉丝数
c****q
1 文章 | 0 粉丝
原创

新手小白借助AI入门go开发

2025-04-01 09:40:06
16
0
  • 背景

最近参加了xnet控制器的开发项目,我之前没有过开发经验,也没接触过go语言,只有在上学时有python基础。本文记录我如何快速上手go开发,可供新手小白参考。我用到的AIdeepseek和文心快码,听说cursor很好用,之后可以试试。

  • 读懂代码

在接触到这个新项目时,我需要先读懂别人的代码。我选取了几个较短的代码,用VS Code的扩展“文心快码BAIDU COMATE”帮我解读。先将整个文件复制到对话框,他会用简要文字概括代码的作用,选取关键方法,解释用处和各种字段。了解通篇代码的含义后,我需要理解每一段代码的逻辑。安装了COMATE后,在每段代码的上方有一些功能按键,代码解释、函数注释、行间注释、添加日志、生成单测、函数拆分、调优建议。我点击“代码解释”,COMATE将代码拆分,细化解释这个方法的接收者、参数、返回值、方法逻辑、错误处理。


再点击“生成单测”,可以看到这个方法的输入示例和预期结果,包括各类正常值、异常值的处理,都能从单测看出来。


由于之前没接触过go语言,在读代码的同时,看到一些不懂的语法我也在对话框里询问,比如go的变量是怎么申明的,chanmap是怎么用的。COMATE会详细介绍基本概念、如何声明、如何使用、用法示例,这样我在读懂代码的同时,也逐渐熟悉了go语法。


  • 写代码框架

接下来是写自己的代码。我把刚刚读懂的代码发给deepseek,并且告诉他我想实现的功能,输入和输出分别是什么。我要做的是sonich3c bgp network模块的yang翻译,所以我给他发了对应的xml结构体。deepseek会根据已有的代码,参照代码的结构和风格,帮我生成了bgp network模块的代码。当前生成的代码会有很多错误,比如调用的方法名称不对,有些错误判断的逻辑他没有考虑到。但我通过deepseek生成了代码框架,也能参考他想到的一些转换逻辑,后续在这个代码的基础上修改,能加快写代码的速度。


  • 修改代码

在修改代码时,COMATE又体现了很大作用。他有强大的自动补全功能,我写一个注释,或写几个字段,他就能联想到后面几行甚至整段代码。我写的代码越多,他有了更多的代码参考后,补全生成的代码也越准确。我只需要修改他生成的代码,生产力直接翻倍。

在修改代码时,有一些方法是不用我自己写,可以复用的。比如我要做bgp network的功能,其中有一个参数是vrf。我找到之前已开发的一个模块是bgp evpn,其中也有sonich3cvrf转换。我直接调用这个方法,这样既简化了开发过程,又让代码更加简洁。

除了基本的逻辑实现,代码中有一个很重要的部分是使用限制、异常值。因为实际的输入可能不是标准化的形式,我需要考虑到输入异常值、空值,代码中应该怎样判断。考虑全面,才能让代码顺利通过测试。

  • 调试代码

在运行代码的过程中,可能会有各种报错,AI也是调试的好帮手。我把报错信息复制进deepseekCOMATE的对话框,他会分析出错误原因、修改方案、验证方法。

  • 优化代码

在代码全部完成后,我将整体代码复制到deepseek,他会分析出潜在问题和改进思路,如果采纳其中的方案,可以继续问他具体如何修改。


COMATE也能针对每一个方法给出调优建议,还能点击“函数拆分”,将冗长的方法拆分成几个短的方法,并给出每一段的注释。另外点击“行间注释”,可以帮我详细注释每一段代码。用VS Code的这个嵌入式AI插件,修改代码非常方便。


最终,我的代码轻松通过了翻译单测,在代码review时也只需要少量修改,我完成了第一次go的开发。后面再进行go开发时,也不需要用deepseek生成代码框架,直接在VS Code里运用COMATE插件编写就很方便。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
1
0