研究了代码质量后,开发效率提升10倍,bug减少20倍!!

 

过去,编写代码一直是一项单调乏味且耗时的工作。尤其是在失业风险日益严峻的情况下,对于年过35的程序员来说,面临更大的挑战。然而,随着人工智能的介入,情况有所改变,给程序员们带来了新的活力和创意,同时开启了提高工作效率的新途径。

人工智能代码生成模型和编程助手因为具备快速生成代码结构、优化算法以及提供智能建议的能力,为程序员们提供了有效的帮助。这种智能辅助不仅可以显著减少重复劳动,还能释放创造力,使得程序员能够专注于问题解决和创新思考,从而提高软件的质量。

在探讨如何增加工作效率以及评估人工智能的效果时,我们需要不仅仅局限于理论,还要提供具体的案例和实例,以展示人工智能在编程领域中所具备的巨大潜力和实际效果。

让我们以FuncGPT(慧函数)为例,这是一个由飞算推出的专注于AI生成Java函数的工具。FuncGPT(慧函数)可以用于创建各种类型的函数。通过用自然语言描述Java函数的需求,它能够即时生成高质量且易读的Java函数代码。生成的代码可以直接复制到IDEA中,也可以一键导入Java全自动开发工具函数库,从而大大提高开发者的编码效率。

案例实践

通过在FuncGPT(慧函数)中输入指令【读取EXCEL数据,入参: File file,出参:List<Map<String, Object>>】,仅用24秒,即可生成一个清晰易懂,可读性优秀的代码:

// 类名:ExcelDataReader

// 函数名:readExcelData

// 函数功能:读取Excel数据并返回List<Map<String, Object>>类型的结果

// POM依赖包:

// <dependency>

//     <groupId>org.apache.poi</groupId>

//     <artifactId>poi</artifactId>

//     <version>4.1.2</version>

// </dependency>

// <dependency>

//     <groupId>org.apache.poi</groupId>

//     <artifactId>poi-ooxml</artifactId>

//     <version>4.1.2</version>

// </dependency>

import org.apache.poi.ss.usermodel.*;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class ExcelDataReader {

    /**

     * 读取Excel数据并返回List<Map<String, Object>>类型的结果

     * @param file Excel文件

     * @return Excel数据的List<Map<String, Object>>结果

     * @throws IOException 当读取Excel文件出现错误时抛出IOException

     */

    public static List<Map<String, Object>> readExcelData(File file) throws IOException {

        List<Map<String, Object>> dataList = new ArrayList<>(); // 创建存储Excel数据的List

        FileInputStream fis = new FileInputStream(file); // 创建文件输入流

        Workbook workbook = WorkbookFactory.create(fis); // 创建Workbook对象

        Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet

        int rowCount = sheet.getLastRowNum(); // 获取行数

        Row headerRow = sheet.getRow(0); // 获取标题行

        int columnCount = headerRow.getLastCellNum(); // 获取列数

        for (int i = 1; i <= rowCount; i++) { // 遍历每一行(跳过标题行)

            Row row = sheet.getRow(i);

            Map<String, Object> rowData = new HashMap<>();

            for (int j = 0; j < columnCount; j++) { // 遍历每一列

                Cell cell = row.getCell(j);

                String columnName = headerRow.getCell(j).getStringCellValue(); // 获取列名

                Object cellValue;

                switch (cell.getCellType()) { // 根据单元格类型获取单元格值

                    case STRING:

                        cellValue = cell.getStringCellValue();

                        break;

                    case NUMERIC:

                        cellValue = cell.getNumericCellValue();

                        break;

                    case BOOLEAN:

                        cellValue = cell.getBooleanCellValue();

                        break;

                    case FORMULA:

                        cellValue = cell.getCellFormula();

                        break;

                    default:

                        cellValue = null;

                }

                rowData.put(columnName, cellValue); // 将列名和单元格值存入rowData

            }

            dataList.add(rowData); // 将rowData存入dataList

        }

        workbook.close(); // 关闭Workbook对象

        fis.close(); // 关闭文件输入流

        return dataList; // 返回Excel数据的结果

    }

}

// 函数示例

// 读取Excel数据示例

// 入参:file,Excel文件

// 出参:dataList,Excel数据的List<Map<String, Object>>结果

// 调用示例:

// File file = new File("data.xlsx");

// List<Map<String, Object>> dataList = ExcelDataReader.readExcelData(file);

// System.out.println(dataList);

// 输出结果:例如,Excel数据为:

// | Name  | Age | Grade |

// |-------|-----|-------|

// | Alice | 18  | A     |

// | Bob   | 20  | B     |

// 则输出结果为:[{Name=Alice, Age=18, Grade=A}, {Name=Bob, Age=20, Grade=B}]

// 表示Excel数据被封装为List<Map<String, Object>>的格式

以上代码清楚地展示了如何使用Apache POI库读取Excel文件并将其内容转换为特定的数据结构,并考虑到了不同类型的单元格并正确地获取了它们的值。同时,也注意了在结束时关闭工作簿和输入流,避免了可能的资源泄漏。

当然,由于EXCEL整体格式内容的话,会影响读取有效行或者有效列的真实数据,需要对行和列进行相关有效校验。因此在以上代码的基础上,开发人员只需做以下一些修改即可获取拿来即用的代码,大大提升了开发的效率。

1)首先判断列,因为列的真实长度会影响到行的读取;

2)读取第一行表头,如果遇到空白列,则认定有效列为上一个列的下标。

3)获取到有效列之后 去遍历每一行数数据,如果有整行为空则跳出循环,结束数据获取。

综上,在秒级支持所有类型函数创建的基础上,由于FuncGPT(慧函数)是经过代码编写最佳实践和大规模机器联合训练,对Java语法有深入的学习和理解,故生成的函数代码质量高,符合行业规范,避免了常见的代码错误和低效。另一方面相较于搜索引擎收到的demo级的代码案例,针对不同的定制化的需求场景,FuncGPT(慧函数)可以为开发人员提供解决思路,在相对精准的代码方案基础上,开发人员只需稍作调整,即可生成满足开发人员特定的功能需求。

FuncGPT(慧函数)现已开启免费使用,下载链接:https://c.suo.nz/cri4s

罚款 200 元,没收 100 多万 尤雨溪:高质量中文文档的重要性 马斯克硬核迁移服务器 Solon for JDK 21,虚拟线程逆天!!! TCP 拥塞控制拯救了互联网 Flutter for OpenHarmony 来了 Linux 内核 LTS 期限将从 6 年恢复至 2 年 Go 1.22 将修复 for 循环变量错误 Google 庆祝成立 25 周年 Svelte 造了个“新轮子”—— runes
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4868096/blog/10114042