代码质量难以管控?FuncGPT(慧函数)了解一下~

举报
努力的阿飞 发表于 2023/08/31 18:08:10 2023/08/31
899 0 0
【摘要】 有这么一句名言“Talk is cheap, Show me the code.” 不管是新人还是老手,都特别想提高自己的代码质量,至少让别人看着舒服。我在以往的工作经历中,因为忙于功能的实现及交付,并没有太重视个人编码的能力,包括正确性、美观性和健壮性。工作几年的人还写出那么“难看”的代码,说出去会很丢人的,所以,如何提升自己的编码水平显得尤为迫切。在朋友的推荐下使用了FuncGPT(慧函...

有这么一句名言“Talk is cheap, Show me the code.” 不管是新人还是老手,都特别想提高自己的代码质量,至少让别人看着舒服。我在以往的工作经历中,因为忙于功能的实现及交付,并没有太重视个人编码的能力,包括正确性、美观性和健壮性。工作几年的人还写出那么“难看”的代码,说出去会很丢人的,所以,如何提升自己的编码水平显得尤为迫切。

在朋友的推荐下使用了FuncGPT(慧函数),据说可以快速提高自己的编码水平和编码质量,实地感受一波再说~

实例:

团队最近正好在做一个任务管理系统,需要用Java函数来实现计算任务剩余时间的功能,以便提醒用户还剩多少时间完成任务。

我大概整理了一下需求,如下:

函数功能:计算两个日期相差天数(返回字符串)

参数1:参数名称:startTime;参数类型:Date;参数描述:开始时间

参数2:参数名称:endTime;参数类型:Date;参数描述:结束时间

参数3:参数名称:format;参数类型:String;参数描述:格式化字符,:,,

返回值:String

这个时候,我一般采用的方案就是上网搜索、调试成符合自己实际需求的代码,今天顺便也使用下FuncGPT(慧函数)试试~

上网搜索

根据需要实现的函数功能,花了2分钟通过搜索找到一个解决方案。如下:(来源:https://blog.csdn.net/u014079773/article/details/77608110

/**

     * @descript:计算两个字符串日期相差的天数

     * @param date1 字符串日期1

     * @param date2 字符串日期2

     * @param format 日期格式化方式  format="yyyy-MM-dd"

     * @return

     */

       public static long dayDiff(String date1, String date2,String format) {

              SimpleDateFormat formater = new SimpleDateFormat(format);

              long diff=0l;

              try {

                     long d1 = formater.parse(date1).getTime();

                     long d2 = formater.parse(date2).getTime();

                     //diff=(Math.abs(d1-d2) / (1000 * 60 * 60 * 24));

                     diff=(d1-d2)/(1000 * 60 * 60 * 24);

              } catch (ParseException e) {

                     e.printStackTrace();

              }

              return diff;

       }

这段代码,使用了依赖包,却没有明确指定所需依赖库的名称和版本,可读性一般。

使用FuncGPT(慧函数)

通过下载飞算 SoFlu 软件机器人,使用FuncGPT(慧函数)试一下。仅用24秒,FuncGPT(慧函数)就自动生成以下代码:

// 类名:DateUtils

// 函数名:calculateDateDifference

// 函数功能:计算两个日期相差天数

// POM依赖包:

// <dependency>

//     <groupId>joda-time</groupId>

//     <artifactId>joda-time</artifactId>

//     <version>2.10.10</version>

// </dependency>

import org.joda.time.DateTime;

import org.joda.time.Days;

public class DateUtils {

    /**

     * 计算两个日期相差天数

     * @param startTime 开始时间

     * @param endTime 结束时间

     * @return 相差天数字符串

     */

    public static String calculateDateDifference(DateTime startTime, DateTime endTime, String format) {

        Days days = Days.daysBetween(startTime, endTime); // 使用Joda-Time计算相差天数

        int difference = days.getDays();

        String result;

        switch (format) {

            case "天":

                result = difference + "天";

                break;

            case "时":

                result = difference * 24 + "小时";

                break;

            case "分":

                result = difference * 24 * 60 + "分钟";

                break;

            default:

                throw new IllegalArgumentException("Invalid format"); // 如果格式不合法,抛出异常

        }

        return result;

    }

}

// 函数示例

// 计算两个日期相差天数示例

// 入参:startTime,开始时间,类型为DateTimeendTime,结束时间,类型为DateTimeformat,格式化字符,类型为String

// 出参:result,相差天数字符串

// 调用示例:

// DateTime startTime = new DateTime(2022, 1, 1, 0, 0); // 创建开始时间对象

// DateTime endTime = new DateTime(2022, 1, 5, 0, 0); // 创建结束时间对象

// String result = DateUtils.calculateDateDifference(startTime, endTime, "天");

// System.out.println(result);

// 输出结果:例如,计算202211日和202215日相差天数为:4

// 则输出结果为:4

我仔细对比了两个代码,发现:

代码可读性上: 网上搜索解决方案出来的代码可读性较差,命名注释欠佳,使用了依赖包,却没有明确指定所需依赖库的名称和版本;

FuncGPT(慧函数)可读性更好,命名注解更加规范,类名和函数名能够更清晰地表达代码的功能。

在实现方法上:网上搜索解决方案方法略微繁琐,手动解析字符串日期、计算相差毫秒数,并进行转化得到相差天数;

FuncGPT(慧函数)方法简单直观,通过使用Joda-Time日期时间库提供的方法简化了日期相差天数的计算逻辑,并提供了更准确的参数类型。

整体使用下来, FuncGPT(慧函数)的体验还是可以的,而且据说它是经过代码编写最佳实践和大规模机器联合训练,对Java语法有深入的学习和理解,所以生成的函数代码质量高,符合行业规范,避免了常见的代码错误和低效。


通过简单的体验,结合我从他们官方找到的产品介绍,我归纳总结了几点FuncGPT的优势,大家不妨看看:

  1. FuncGPT(慧函数)具备强大的自然语言处理能力,能够准确理解用户对函数的描述和要求,降低了开发沟通成本和理解难度。

2、FuncGPT(慧函数)生成的代码经过精确的理解和训练,包含清晰的代码注释,减少了由于疏忽和语法错误引起的Bug,提高了软件质量和稳定性。

  1. FuncGPT(慧函数)生成的代码遵循最佳实践,倾向于使用良好的代码结构,避免过长的函数和过度嵌套,向开发者传授行业内的优秀编码风格和设计模式,从而提升整体团队的编码水平。

此外,最为关键的是这样一款支持秒级生成,函数代码质量杠杠的AI工具它免费的!话不多说,我要继续体验FuncGPT你想免费使用吗? 下载链接我放这边了,不用谢!

地址:http://suo.im/a2pXi

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。