一个瞬间让你的代码量暴增的脚本
admin
2024-04-03 16:56:07
0

1 功能概述

在某些特殊情况下,需要凑齐一定的代码量,或者一定的提交次数,为了应急不得不采用一些非常规的手段来保证达标。本文分享的是一段自动提交代码的脚本,用于凑齐code review流程数量,将单次code review代码修改行数拉下来(备注:如果git开启自动生成code review流程,则每次push操作就会自动生成一次code review流程)。

2 友情提示

本脚本仅用于特殊应急场景下,平时开发中还是老老实实敲代码。

重要的事情说三遍:

千万不要在工作中使用、千万不要在工作中使用、千万不要在工作中使用

3 实现思路

3.1 准备示例代码

可以多准备一些样例代码,然后随机取用, 效果会更好。例如:

需要确保示例代码是有效的代码,有些项目可能有eslint检查,如果格式不对可能导致无法自动提交

function huisu(value, index, len, arr, current) {if (index >= len) {if (value === 8) {console.log('suu', current)}console.log('suu', current)return}for (let i = index; i < len; i++) {current.push(arr[i])console.log('suu', current)if (value + arr[i] === 8) {console.log('结果', current)return}huisu(value + arr[i], i + 1, len, arr, [...current])console.log('suu', value)current.pop()onsole.log('suu', current)}
}
复制代码

3.2、准备一堆文件名

准备一堆文件名,用于生成新的问题,如果想偷懒,直接随机生成问题也不大。例如:

// 实现准备好的文件名称,随机也可以
const JS_NAMES = ['index.js', 'main.js', 'code.js', 'app.js', 'visitor.js', 'detail.js', 'warning.js', 'product.js', 'comment.js', 'awenk.js', 'test.js'];
复制代码

3.3 生成待提交的文件

这一步策略也很简单,就是根据指定代码输出文件夹内已有的文件数量,来决定是要执行新增文件还是删除文件

if (codeFiles.length > MIN_COUNT) {rmFile(codeFiles);
} else {createFile(codeDir);
}
复制代码

【新增文件】

根据前面两步准备的示例代码和文件命名,随机获取文件名和代码段,然后创建新文件

// 创建新的代码文件
function createFile(codeDir) {const ran = Math.floor(Math.random() * JS_NAMES.length);const name = JS_NAMES[ran];const filePath = `${codeDir}/${name}`;const content = getCode();writeFile(filePath, content);
}
复制代码

【删除文件】

这一步比较简单,直接随机删除一个就行了

// 随机删除一个文件
function rmFile(codeFiles) {const ran = Math.floor(Math.random() * codeFiles.length);const filePath = codeFiles[ran];try {if (fs.existsSync(filePath)) {fs.unlinkSync(filePath);}} catch (e) {console.error('removeFile', e);}
}
复制代码

3.4 准备commit信息

这一步怎么简单怎么来,直接准备一堆,然后随机取一个就可以了

const msgs = ['feat:消息处理', 'feat:详情修改', 'fix: 交互优化', 'feat:新增渠道', 'config修改'];
const ran = Math.floor(Math.random() * msgs.length);
console.log(`${msgs[ran]}--测试提交,请直接通过`);
复制代码

3.5 扩大增幅

上述步骤执行一次可能不太够,咱们可以循环多来几次。随机生成一个数字,用来控制循环的次数

const ran = Math.max(3, parseInt(Math.random() * 10, 10));
console.log(ran);
复制代码

3.6 组合脚本

组合上述步骤,利用shell脚本执行git提交,详细代码如下:

#! /bin/bashgit pullcd $(dirname $0)# 执行次数
count=$(node ./commit/ran.js)
echo $count# 循环执行
for((i=0;i<$count;i++))
do
node ./commit/code.js
git add .msg=$(node ./commit/msg.js)
git commit -m "$msg"git push
done
复制代码

总结

总的来就就是利用shell脚本执行git命令,随机生成代码或者删除代码之后执行commit提交,最后push推送到远程服务器。

 给大家推荐一个实用面试题库

1、前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

相关内容

热门资讯

摩通:华尔街银行业绩强劲提振欧... 观点网讯:7月22日,华尔街大型银行第二季度业绩表现强劲,提振了市场对欧洲投资银行即将开启的财报季的...
广州拟推动房地产纾困和发展 引... 观点网讯:7月22日,“十五五”时期,广州拟切实推动房地产纾困和发展,引导房地产市场企业转型升级。 ...
AI投入成“无底洞”?谷歌资本... 隔夜美股三大指数集体收低,道琼斯工业指数下跌0.01%报52218.58点,标普500指数跌0.14...
新太空经济从“起势”迈向“成势... 当前,全球正处于新一轮科技革命和产业变革加速演进的关键节点,人工智能、合成生物学、固态电池、高端算力...
金价四连涨,水贝又挤满人 每经记者:赵景致 每经编辑:何小桃,廖丹 记者|赵景致 编辑|何小桃 廖丹杜恒峰校对|金冥羽 金价在...
专访微亿智造董事长张志琦:在“... 本报(chinatimes.net.cn)记者石飞月 上海报道 在刚刚过去的2026世界人工智能大会...
Alphabet CEO:市场... 美东时间周三(7月22日)盘后,在Alphabet财报电话会上,公司CEO Sundar Picha...
毕马威:香港基金税制改革料吸引... 观点网讯:7月22日,毕马威发布《香港资产管理及私募股权展望》报告,指出香港基金免税制度及附带权益税...
维护资本市场平稳运行,组合拳来... 重要新闻提示 7月20日,证监会召开证券公司及基金机构座谈会,听取各方关于促进资本市场平稳健康发展的...
原创 缩... 其实这个阶段,反攻继不继续,对我来说没啥意义。因为小登估值依旧高高在上,随时可能像上周五,带崩老登。...
易方达张坤,罕见调仓 图/视觉中国 昔日公募圈“一哥”,也不“爱”白酒了。 7月21日,易方达知名基金经理张坤旗下多只产品...
宽基ETF连续2日净流出 7月23日,本周二、周三,宽基ETF连续2日资金流出。 数据显示,7月22日,ETF市场净流出216...
367 款新品换不来年轻人一句... 作者|极点商业 张先森 2026年初夏,#康师傅冰红茶卖不动了#登上热搜。 网友对此的反应颇为两极...
1元净资产市场只给5毛8!银行... 继中信银行、招商银行之后,光大银行也于7月20日在投资者互动平台透露,该行已成立市值管理小组,全面统...
风险等级为何需要运作机制更关键... 在基金投资领域,风险等级是投资者评估基金产品的重要参考指标之一。然而,很多投资者往往只关注风险等级的...
刚刚!万亿“光模块一哥”正式招... (来源:上市之家) 7月22日,中际旭创股份有限公司(300308.SZ)正式刊发H股招股章程,启动...
智象未来完成15亿元C轮融资,... 智象未来(合肥)信息技术有限公司(以下简称“智象未来”)是一家全球多模态生成式人工智能创新企业,也是...
半年赚170%、规模565亿,... 来源:市场资讯 来源:资管网 半年赚170%,管理规模从89亿干到565亿。 然后他减仓了。 财通基...
Token账单背后的资本博弈 最近大家可能有一个困惑:为什么大模型概念股,看似业务高速增长、调用量节节攀升,但估值在经历了高速攀升...
Costco签约入驻 京东成为... 观点网讯:7月22日,全球知名会员制仓储零售商Costco(开市客)与京东达成合作,京东成为Cost...