【揭秘】程序员做事的5步骤,只有第4步能交给AI?惊喜在这里!



程序员从接收需求到完成需求可以拆分为5步:
1、接收需求
2、重新定义需求
3、思考“算法”
4、找资源实现算法
5、验证需求的完成度
其中只有第4步可以交给AI,而且程序员是很乐意把这些“体力活交给AI做的。

我老婆在做数模作业的时候有一个合并两张Excel表格数据的需求,因为有几万条,手动几乎不可能完成,于是问我能不能给她写个程序来搞定。
这玩意非常简单,一句话来讲就是写个脚本,但是从查api到写完怎么也得几个小时,换做以前我是拒绝的,但是有AI的话,就可以让它直接写到90%的程度,我稍微改改就能用,很香。

具体过程记录如下
1、接收需求
老公,能不能帮我写个代码帮我把两张表合在一起呢?
2、重新定义需求
1>几万条数据,手动合并量太大,不可能实现。
2>数据存储在.xlsx后缀的Excel文件里。
3>当两个表中CONTROL列的元素相同时,将它们的数据合并,生成新表。
3、思考“算法”
1>用任意一种脚本语言
2>安装对应能够读取和写入excel文件的库
3>读取两个文件,筛选和生成满足条件的数据结构
4>将数据写入并保存在新文件中

4、找资源实现算法
用AI!!!

发现本地没装python环境,但是有nodejs的运行环境,所以让AI用js再实现一遍

有bug,也有我需求描述不够清晰的原因

还有bug,让它接着改

到这一步就没有任何问题了,接下来我添加一点log用来看执行的进度,就能正常跑啦~

5、验证需求的完成度
打开表,给老婆验收,没有毛病~

思考
整个过程我都在指挥AI写代码,它也不负期望,自己找库,自己用api编写出代码。如果没有ai的话得我自己去网上找哪个库可以干这个,哪些api,怎么用api,这些东西没有难度,但是很费时间。
现在用AI就可以让程序员将精力集中在拆分需求和思考算法上面,而算法实现这些则交给AI,大大提高开发效率。
完整的脚本如下
const fs = require('fs');const XLSX = require('xlsx');function mergeExcelFiles(file1, file2, output) {// 读取第一个Excel文件const workbook1 = XLSX.readFile(file1);const worksheet1 = workbook1.Sheets[workbook1.SheetNames[0]];const data1 = XLSX.utils.sheet_to_json(worksheet1);// 读取第二个Excel文件const workbook2 = XLSX.readFile(file2);const worksheet2 = workbook2.Sheets[workbook2.SheetNames[0]];const data2 = XLSX.utils.sheet_to_json(worksheet2);// 用于存储合并后的数据const mergedData = {};// 处理第一个Excel文件的数据 data1.forEach(row => {const control = row['CONTROL']; mergedData[control] = row; });// 处理第二个Excel文件的数据 data2.forEach(row => {const control = row['CONTROL'];if (mergedData[control]) { mergedData[control] = { ...mergedData[control], ...row }; } });console.log("begin do shaixuan");// 只保留同时在两张表中存在的数据const filteredData = Object.values(mergedData).filter(row => {// console.log("doing shanxuan");return data1.some(row1 => row1['CONTROL'] === row['CONTROL']) && data2.some(row2 => row2['CONTROL'] === row['CONTROL']); });console.log("end do shaixuan");// console.log(filteredData)// 将合并后的数据写入新的工作表 console.log("begin do to new");// filteredData.forEach(row => {// console.log(row);// XLSX.utils.sheet_add_json(newWorksheet, [row], { skipHeader: true });// });// 创建新的工作簿和工作表const newWorkbook = XLSX.utils.book_new();const newWorksheet = XLSX.utils.json_to_sheet(filteredData);console.log("end do to new");console.log("begin book_append_sheet");// 将工作表添加到工作簿 XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, 'Sheet1');console.log("end book_append_sheet");console.log("begin writeFile");// 保存合并后的数据到新的Excel文件 XLSX.writeFile(newWorkbook, output);console.log("end writeFile");}// 指定输入文件路径和输出文件路径const file1 = 'PROJECT1-THEDS2011.xlsx';const file2 = 'PROJECT1-THEDS2013.xlsx';const output = 'merged_file.xlsx';console.log("test");// 调用函数进行合并mergeExcelFiles(file1, file2, output);

可爱的伙伴,都看到这了~ 右下角点个“赞”和“在看”呗
到顶部