Skip to main content
  1. Posts/

使用Chatgpt来代码优化示例

·153 字·1 分钟· 0 · 0 ·
开发笔记 chatgpt 有趣
Table of Contents
例子 1>

例子 1 #

给连个 ChatGPT 的优化例子:

public DataOverviewVO toVO() {
        if(tagsName!= null && tagsName != ""){
            String[] splitTags = tagsName.split(",");
            List<String> tags = Arrays.asList(splitTags);
            this.tagsList = tags;
        }
        if(layerName!= null && layerName != ""){
            String[] splitLayer = layerName.split(",");
            List<String> layer = Arrays.asList(splitLayer);
            this.layerList = layer;
        }
        if(serviceName!= null && serviceName != ""){
            String[] splitService = serviceName.split(",");
            List<String> service = Arrays.asList(splitService);
            this.serviceList = service;
        }
        return this;
    }

优化后

public DataOverviewVO toVO() {
    if (StringUtils.isNotBlank(tagsName)) {
        this.tagsList = Arrays.asList(tagsName.split(","));
    }
    if (StringUtils.isNotBlank(layerName)) {
        this.layerList = Arrays.asList(layerName.split(","));
    }
    if (StringUtils.isNotBlank(serviceName)) {
        this.serviceList = Arrays.asList(serviceName.split(","));
    }
    return this;
}

这个版本使用了StringUtils的isNotBlank()方法来检查字符串是否为空,而不是使用!= null && != “”。这个版本比原始版本更简洁,但不如使用Optional和Lambda表达式那么优雅。

例子 2>

例子 2 #

PageResult page = MyBatisPageHelper.findPage(pageRequest, dataOverviewDOMapper, "findPage", pageRequest.getParamValueOrDefault("name", ""), pageRequest.getParamValueOrDefault("service", ""), pageRequest.getParamValueOrDefault("layer", ""), pageRequest.getParamValueOrDefault("createBy", ""), pageRequest.getParamValueOrDefault("orderBy", ""), pageRequest.getParamValueOrDefault("orderType", ""), pageRequest.getParamValueOrDefault("createStartTime", ""), pageRequest.getParamValueOrDefault("createEndTime", ""), pageRequest.getParamValueOrDefault("lastStartTime", ""), pageRequest.getParamValueOrDefault("lastEndTime", ""));
        List<DataOverviewVO> content = (List<DataOverviewVO>) page.getContent();
        List<DataOverviewVO> collect = content.stream().map(DataOverviewVO::toVO).collect(Collectors.toList());
        page.setContent(collect);
        return page;

优化后:

page.setContent(page.getContent().stream().map(DataOverviewVO::toVO).collect(Collectors.toList()));
return page;

这个报错,类型不匹配


ChatGPT 可以提高自己的代码规范性,但不能提升自己的代码能力。