idea Ai工具通义灵码,Copilot我的使用方法以及比较

我用过多个idea Ai 编程工具,大约用了1年时间,来体会他们那个好用,以下只是针对我个人的一点分享,不一定对你适用 仅作参考。

介于篇幅原因我觉得能说上好用的 目前只有两个 一个是阿里的通义灵码和Copilot,我用它来干什么,他们官方的定义是 提高开发效率,帮助你节省一些开发时间,说白了就是协助,但是我觉得他们 还有其他用处,我举个例子,我写代码,我让他帮我检查一下有没有问题,或者有没有什么隐藏风险,这个通义灵码 大部分都是 标准化输出 ,但是有一次还真帮我检查出一个问题,因为粗心导致下边是代码 ,对

复制代码
if (SpringContextUtil.existBean(beanCommonServiceName)) 少了一个判断

我让 通义灵码,Copilot 分别给我检查 但是 只有通义灵码检查出来了,Copilot没有检查到。

2,我用它帮我提高代码水平,我平时写完代码之后,会让通义灵码 帮我规范一下,(毕竟阿里系的标准化还是很高的),其次我让Copilot 帮我 用另外一种方式实现一下。

我在工作中遇到一个问题,大体是这样, 有两个json 报文,报文是集合列表,我要对比每一个集合中的数据是否一致,你可以理解为,这两个集合中的报文数据是否每一个参数都一致,不一致的情况下把它展示出来,你可能觉得这有啥难的,但是在实际开发中确实有难度,我无非想到的就是见招拆招,遇到啥问题就 if else,不行就再来一个swich 还不是行 继续if,我把这个问题抛给 Copilot没想到 他给我写了一段代码,类似于排序的 我当时没在意,以为他给错了,后来耐心看下来发现 实现的非常 巧妙我把代码 贴出来你们看下,

复制代码
    private static void test1() {
        List<DscCompareResultDto> files = new ArrayList<>();
        files.add(new DscCompareResultDto("NEW", "dog", "test.txt"));
        files.add(new DscCompareResultDto("OLD", "dog", "test.txt"));

        files.add(new DscCompareResultDto("NEW", "egg", "egg1.pdf"));
        files.add(new DscCompareResultDto("OLD", "egg", "bbb1.pdf"));

        files.add(new DscCompareResultDto("OLD", "lll", "jxd.txt")); //新的

        files.add(new DscCompareResultDto("NEW", "aaaa", "example01.pdf"));
        files.add(new DscCompareResultDto("OLD", "aaaa", "example-1.pdf"));

        files.add(new DscCompareResultDto("OLD", "aaaa", "example.pdf"));
//        List<DscCompareResultDto> inconsistentFiles = findInconsistentFiles(files);


//        for (DscCompareResultDto file : inconsistentFiles) {
//            System.out.println("File Name: " + file.getFileName() + ", class: " + file.getFileClass() + "  " + file.getRule());
//        }

    }
复制代码
public  List<DscCompareResultDto> findInconsistentFiles(List<DscCompareResultDto> files) {
    Map<String, Map<String, List<DscCompareResultDto>>> fileMap = new HashMap<>();

    for (DscCompareResultDto file : files) {
        String fileName = file.getFileName();
        String fileClass = file.getFileClass();

        // 使用文件名作为第一层 key,文件大小作为第二层 key
        fileMap.computeIfAbsent(fileClass, k -> new HashMap<>())
                .computeIfAbsent(fileName, k -> new ArrayList<>())
                .add(file);
    }
    // 收集不一致的文件
    List<DscCompareResultDto> inconsistentFiles = new ArrayList<>();
    for (Map<String, List<DscCompareResultDto>> sizeMap : fileMap.values()) {
        for (List<DscCompareResultDto> fileList : sizeMap.values()) {
            if (fileList.size() == 1) { // 大于一个说明不一致
                inconsistentFiles.addAll(fileList);
            }
        }
    }
    return inconsistentFiles;
}

3.代码书写规范和优雅,我接收一个公司项目,代码是这样的,你看下 map1 map2 ...

这只是冰山一角有的事map 100了

我让通义灵码 做一些重构 这是重构之后的

总结,我会让规范,代码可复用,检查代码有误风险 我 会选择 通义灵码, 比如遇到一些思考方法,或者换一种思路解决问题 我会选择Copilot。希望对你有帮助

相关推荐
数新网络7 分钟前
The Life of a Read/Write Query for Apache Iceberg Tables
人工智能·apache·知识图谱
Yangy_Jiaojiao42 分钟前
开源视觉-语言-动作(VLA)机器人项目全景图(截至 2025 年)
人工智能·机器人
gorgeous(๑>؂<๑)1 小时前
【ICLR26匿名投稿】OneTrackerV2:统一多模态目标跟踪的“通才”模型
人工智能·机器学习·计算机视觉·目标跟踪
坠星不坠1 小时前
pycharm如何导入ai大语言模型的api-key
人工智能·语言模型·自然语言处理
周杰伦_Jay1 小时前
【智能体(Agent)技术深度解析】从架构到实现细节,核心是实现“感知环境→处理信息→决策行动→影响环境”的闭环
人工智能·机器学习·微服务·架构·golang·数据挖掘
王哈哈^_^2 小时前
【完整源码+数据集】课堂行为数据集,yolo课堂行为检测数据集 2090 张,学生课堂行为识别数据集,目标检测课堂行为识别系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
Elastic 中国社区官方博客2 小时前
Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·php
ytttr8732 小时前
Landweber迭代算法用于一维、二维图像重建
人工智能·算法·机器学习
feifeigo1233 小时前
Matlab编写压缩感知重建算法集
人工智能·算法·matlab
紫小米3 小时前
提示词(Prompt)工程与推理优化
人工智能·ai·prompt·ai agent