开发时如何快速分析代码和生成测试方法(Baidu Comate插件帮我一键分析)

目录

前言

Baidu Comate智能编码助手简介

安装教程

使用RabbitMQ一个绑定队列方法进行演示

进行测试现有功能

使用感觉     

测试结果


前言

        因为在开发代码的时候,发现有很多都是废话也不是很想写注释 的,毕竟程序员最讨厌的两件事情,一件就是讨厌写注释,另一件就是别人写的代码不写注释。而我本人也是毕竟懒于写注释的。

        就比如下面这个绑定交换机和队列的方法,其实很简单。

// 交换机绑定队列@Beanpublic Binding bindingMessageQueue(@Qualifier(EXCHANGE_NAME) Exchange exchange,@Qualifier(QUEUE_NAME) Queue queue){// 使用BindingBuilder构建Binding对象return BindingBuilder.bind(queue).to(exchange).with("my_routing").noargs();}

但是如果写,这样可能对于刚入门学习新技术的不太友好。 但是如果换成下面这种写法呢:

    /*** 交换机绑定队列** @param exchange 交换机对象,用于绑定队列* @param queue 队列对象,需要被绑定到交换机上* @return Binding对象,表示交换机和队列的绑定关系*/// 交换机绑定队列@Beanpublic Binding bindingMessageQueue(@Qualifier(EXCHANGE_NAME) Exchange exchange,@Qualifier(QUEUE_NAME) Queue queue){// 使用BindingBuilder构建Binding对象return BindingBuilder// 绑定队列到交换机.bind(queue)// 指定要绑定的交换机.to(exchange)// 指定路由键.with("my_routing")// 不使用任何参数.noargs();}

        这里是不是一目了然,但是又不想自己每次都这样手打怎么办,那么就可以看一下下面的介绍了。 

Baidu Comate智能编码助手简介

        在 AIGC 技术和工具井喷爆发的时代,行业内对 AI 开发工具的需求和关注日渐增长。一款好的开发工具能帮助提高项目开发中的生产力、创造力和准确性,提升编程效率。

        Baidu Comate智能编码助手是基于文心大模型,打造的新一代编码辅助工具,拥有代码智能、场景丰富、创造价值、广泛应用等多重产品优势,可实现帮你想、帮你写、帮你改的场景应用形态。提升编码效率,释放十倍软件生产力。Baidu Comate智能编码助手支持 100 多种语言和多种 IDE(集成开发环境)平台,可以推荐代码、生成代码注释、查找代码缺陷、给出优化方案,还能深度解读企业与个人私域代码库等。过去一年多,Baidu Comate智能编码助手走入上万家企业,生成的代码采纳率达 46%。      

        Baidu Comate智能编码助手是一款基于百度大型模型ERNIE开发的编程辅助工具。接下来对Baidu Comate智能编码助手的特点进行简要介绍:

  1. 自动代码生成:Comate能够根据开发者的需求自动生成代码,减少手动编写的时间和出错的可能性。
  2. 单元测试生成:除了基础的代码生成外,Comate还能帮助开发者生成单元测试代码,确保代码的质量。
  3. 注释生成:为了提高代码的可读性和维护性,Comate还支持自动生成注释的功能。
  4. 智能回答:在编程过程中遇到问题时,Comate可以提供智能答案辅助解决问题。
  5. 多语言支持:Comate支持数百种编程语言,适用于多种开发环境(IDEs),包括Visual Studio Code和JetBrains系列IDE等。
  6. 提升编码效率:通过智能化的帮助,Comate旨在提升开发者的编码效率,释放软件生产力。
  7. 丰富的场景应用:结合百度积累多年的编程现场大数据和外部优秀开源数据,Comate能够在多种编程场景中发挥作用,实现“帮你想、帮你写、帮你改”的应用形态。

安装教程

在IDEA中安装Baidu Comate插件

        首先,进入网站官网:

下载Comate | 百度研发编码助手 | 免费Comate是百度基于文心大模型研发的编程辅助工具,提供自动代码生成、单元测试生成、注释生成、研发智能问答等能力,支持上百种编程语言、多种IDE。icon-default.png?t=N7T8https://comate.baidu.com/zh/download?index.html?track=csdn426

按照官网给出的教程,进入idea插件市场,安装完成之后重启IDEA,然后进行登录百度账号,登录成功如下:

然后重返IDEA,可以看到发生了如下变化:右侧边栏多了一个Baidu Comate,以及在代码中的每一个方法都多了一个logo。

点击这个logo还会出现函数注释,行间注释,生成单侧,代码解释,调优建议,等功能。

使用RabbitMQ一个绑定队列方法进行演示

进行测试现有功能

接下来用一个绑定队列消息的函数来进行演示这个功能,请看下面的gif动图:

        可以看得出来,在生成注释的时候确实都非常智能,并不会出现某些大的问题,

        当我们需要使用到测试方法测试一下我们写的代码时,就需要构思一下如何测试了,但是有了这个工具,就可以大致了解一下,然后之间进行开始单测就会给你自动生成一个测试类。如下图。

使用感觉     

        但是在生成测试类的时候,感觉有一个地方不够特别友好。其实这里生成单侧的时候,并不会根据当前选择的模块下的测试包里面生成对应的测试类。反而是在root依赖目录下生成一个与src同级目录下的测试类。因为如果在这里生成,那么其他目录下的级别的依赖肯定是识别不了,而且这里的测试类也不能直接运行。个人感觉这个功能目前还是需要改改。但是问题也不算特别大,毕竟也可以直接复制到测试包下。也无妨。

测试结果

        但是我们可以把这里直接把生成的测试类复制到要测试的项目下的测试包下,也是可以成功运行的。如下图。

        以及总的来说,用来生成注释是非常方便的,以及函数之间的解耦,也是非常有作用的。就比如函数之间的疯狂调用,可能有些逻辑看起来十分复杂,但是一旦使用到了这个东西,那么将会极大快速理解业务逻辑。

        最后还是非常值得推荐大家在开发过程中去使用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 重塑产品设计

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Chrome的常用操作总结

Chrome的常用操作总结 最近的自己真的好忙啊,好久真好久没有写博客了,今天我就趁着周末的这段时间总结一下最近自己的用的Chrome浏览器常用的命令 不得不说: 就是特么的丝滑!吊打一切浏览器(不接受反驳哈哈哈)因为反驳我也不听嘻嘻 用好快捷键,就是事半功倍!!!重要的事儿说一遍…

【定制化】在Android平台实现自定义的程序启动页

特别说明:以下仅适用于Android平台。 实现原理 创建安卓端自定义的Activity禁用UnityPlayerActivity的启动Logo改用自定义Activity 示例效果 参考简单步骤或详细步骤都可实现。 自定义的启动动画,效果如下: 简单步骤 三步操作实现启动动画…

Vue3项目Easy云盘(二):文件列表+新建目录+文件重命名+文件上传

一、文件列表 1.封装全局组件Table.vue 因为Main.vue等都会用到文件列表table&#xff0c;所以直接封装成组件。 src/components/Table.vue <template><!-- 表格 --><div><el-tableref"dataTable":data"dataSource.list || []":h…

用迭代加深解决加成序列问题

可以看到这个最坏的结果是100层搜索&#xff0c;但是其实1 2 4 8 16 32 64 128&#xff0c;到128的话也只要8&#xff0c;所以大概只需要10几层搜索就可以解决了&#xff0c;这个时候就可以用迭代加深的方法&#xff0c;深度一点点的加&#xff0c;如果大于概深度就舍去。有人说…

用户登录后端:登录密码解密后用PasswordEncoder验证密码是否正确

前置知识: 前端登录加密看用户登录 PasswordEncoder加密看PasswordEncoder详解 项目中因为要判断用户登录密码是否正确&#xff0c;通过输入错误次数锁住用户 1.后端配置rsa私钥 #密码加密传输&#xff0c;前端公钥加密&#xff0c;后端私钥解密 rsa:private_key: xxxx2. 读…

基于C++基础知识的指针

一、变量与指针 在C中&#xff0c;变量是用来存储数据的一个标识符&#xff0c;而指针是一个变量&#xff0c;该变量存储的是另一个变量的地址。 变量可以是不同的数据类型&#xff0c;包括整数&#xff08;int&#xff09;、浮点数&#xff08;float&#xff09;、字符&#…

智慧粮库/粮仓视频监管系统:AI视频智能监测保障储粮安全

智慧粮库视频监管系统是一种基于物联网、AI技术和视频监控技术的先进管理系统&#xff0c;主要用于对粮食储存环境进行实时监测、数据分析和预警。TSINGSEE青犀智慧粮库/粮仓视频智能管理系统方案通过部署多区域温、湿度、空气成分等多类传感器以及视频监控等设施&#xff0c;对…

IDEA及Maven配置代理及Maven中央仓库配置详解

一、配置代理 首先&#xff0c;需要本地开启代理入口&#xff0c;如图。 这个跟你使用代理软件有关。像我使用的是qv2ray。 其次&#xff0c;idea配置代理&#xff0c;如图。 1.1 idea配置代理 打开Settings&#xff0c;如图 1.2 maven配置代理 maven配置代理&#xff0c;修…

虚拟机CentOS密码重置

1&#xff0c;reboot重启 在出现下面的界面1按e 如果有选项就选择“CentOS Linux &#xff08;3.10.0-327.e17.x86_64&#xff09;7 &#xff08;Core&#xff09;”【我的电脑没有直接显示界面2】 界面1 界面2 2&#xff0c;在上述界面2中继续按e进入编辑模式 找到“ro cr…

partially initialized module ‘replicate‘ has no attribute ‘run‘

partially initialized module replicate has no attribute run(most likely due to a circular import) 在包名上停留查看impot 包的地址。 报错原因&#xff1a; 文件重名了&#xff0c;导入了 当前文件 。 修改文件名 即可。

Vue3路由及登录注销功能、设置导航守护功能模块

路由 在vue中&#xff0c;页面和组件都是.vue文件&#xff0c;可以说是一样的&#xff0c;结构、内容和生产方法都是一样&#xff0c;但是组件可以被反复使用&#xff0c;但页面一般只被使用一次。 路由的作用就是网页地址发生变化时&#xff0c;在App.vue页面的指定位置可以加…

17 M-LAG 配置思路

16 华三数据中心最流行的技术 M-LAG-CSDN博客 M-LAG 配置思路 什么是M-LAG&#xff1f;为什么需要M-LAG&#xff1f; - 华为 (huawei.com) 1 配置 M-LAG 的固定的MAC地址 [SW-MLAG]m-lag system-mac 2-2-2 2 配置M-LAG 的系统标识符系统范围1到2 [SW-MLAG]m-lag system-nu…

MongoDB安装及接入springboot

环境&#xff1a;windows、jdk8、springboot2 1.MongoDB概述 MongoDB是一个开源、高性能、无模式&#xff08;模式自由&#xff09;的文档&#xff08;Bson&#xff09;型数据库&#xff1b;其特点如下&#xff1a; 模式自由 ---- 不需要提前创建表 直接放数据就可以 支持高并…

STM32窗口看门狗的操作

STM32的窗口看门狗的主要功能是&#xff0c;程序过早的喂狗还有太晚喂狗&#xff0c;都会触发单片机重启&#xff0c;就是有一个时间段&#xff0c;在这个时间段内喂狗才不会触发单片机重启。 下面我就总结一下窗口看门狗的设置过程&#xff1a; 第一步&#xff1a;开启窗口看…

vscode怎么设置背景图片?

vscode背景图片是可以自己设置的&#xff0c;软件安装后默认背景的颜色是黑色的&#xff0c;这是默认的设计&#xff0c;如果要修改背景为指定的图片&#xff0c;那么我们需要安装插件&#xff0c;然后再通过代码来设置背景图片的样式&#xff0c;下面我们就来看看详细的教程。…

代数结构:5、格与布尔代数

16.1 偏序与格 偏序集&#xff1a;设P是集合&#xff0c;P上的二元关系“≤”满足以下三个条件&#xff0c;则称“≤”是P上的偏序关系&#xff08;或部分序关系&#xff09; &#xff08;1&#xff09;自反性&#xff1a;a≤a&#xff0c;∀a∈P&#xff1b; &#xff08;2…

旅游推荐管理系统(小组项目)

文章目录 前言 一、项目介绍 1. 项目目的 2. 项目意义 2.1 提升旅游体验 2.2 促进旅游业发展 2.3 数据积累与分析 2.4 提升服务品质 2.5 优化资源配置 二、项目结构 1. 主要使用的技术 1.1 若依&#xff08;Ruoyi&#xff09;框架 1.2 Vue.js框架 1.3 Ajax 1.4 …

【进程通信】了解信号以及信号的产生

文章目录 0.前言1.信号的基本概念1.1中断1.1.1 软中断1.1.2硬中断 1.2异步1.2.1异步和同步的比较 2.信号的主要用途3.信号的特点4.查看信号4.1Core和Term的区别4.2生成Core文件 5.初识捕捉信号5.1signal函数 6.产生信号的方式6.1.通过终端按键产生信号6.2.调用系统函数向进程发…

国内智能搜索工具实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…