一个瞬间让你的代码量暴增的脚本

news/2024/7/19 15:14:57 标签: java, python, js, git, javascript
js_content">

1 功能概述

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

2 友情提示

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

重要的事情说三遍:

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

3 实现思路

3.1 准备示例代码

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

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

javascript">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 生成待提交的文件

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

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

【新增文件】

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

javascript">// 创建新的代码文件
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);
}
复制代码

【删除文件】

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

javascript">// 随机删除一个文件
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提交,详细代码如下:

javascript">#! /bin/bash

git pull

cd $(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、前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库


http://www.niftyadmin.cn/n/3250.html

相关文章

顺丰同城前端一面

顺丰同城前端一面 文章目录顺丰同城前端一面1.自我介绍2.选择前端的理由3.用css实现三角形4.垂直水平居中实现5.基本数据类型&#xff0c;引用数据类型6.数组操作方法1.forEach:遍历每个元素并处理。没有返回值2.map:遍历每个元素并处理。返回值为处理后的数组。原数 组不改变3…

用Python下载漫画,每天掌握一个实用知识

嗨嗨&#xff0c;大家好 最近看小说和漫画看的有点上头… 就顺便用Python来采集一下漫画吧 随便抓个漫画分享一下&#xff0c;搞清楚思路后&#xff0c;自己多练练就能自己采集想看的漫画咯 知识点: 爬虫基本流程保存海量漫画数据requests的使用base64解码 开发环境: 版 …

c语言之函数篇

前言 各位小伙伴们&#xff0c;我们又见面了&#xff0c;很高兴你们能看到这篇文章&#xff0c;和牛牛一起学习c语言的知识。本次牛牛分享的是c语言中有关 函数知识。一起开始学习吧&#xff01; 目录前言一、认识函数二、函数的分类2.1 库函数的介绍2.2 自定义函数的介绍三、函…

学完Python,不做程序员,只接兼职,哎,就是玩儿

现在这个时代&#xff0c;人人开始追求做斜杠青年&#xff0c;多方面开展副业&#xff0c;赚取几份工资。有很多朋友就抓住了Python的风口&#xff0c;靠着Python兼职月入一万。那么学完Python&#xff0c;有哪些可以做的兼职呢&#xff1f; 一、闲暇时间&#xff0c;接自由单…

史上最全ubuntu18.04安装教程|搜狗输入法配置教程|网络配置|相关命令配置

史上最全ubuntu18.04安装教程|搜狗输入法配置教程|网络配置|相关命令配置一、ubuntu18.04获取和安装二、ubuntu18.04 配置网络和安装搜狗输入法三、搜狗输入法安装在ubuntu成功界面一、ubuntu18.04获取和安装 获取这里给大家推荐一个CSDN最新出的工具&#xff0c;猿如意 如下&a…

双十一大促客服必备话术

进入10月下旬以后&#xff0c;各个电商平台都在为接下来的“双十一”大促紧锣密鼓地准备着&#xff0c;客服也越来越忙&#xff0c;客服的首要任务就是整理出一套完美的话术&#xff0c;便于及时回复。 前言 进入10月下旬以后&#xff0c;各个电商平台都在为接下来的“双十一”…

【02】概率图模型在真实世界中的应用案例

概率图模型在真实世界中的应用案例 概率图模型有许多不同的实际应用。 为了激起大家对概率图模型的兴趣&#xff0c;也为了让大家能够对概率图模型有感性的认知&#xff0c;本章我会分享概率图模型的诸多实际应用案例。 文章目录图像中的概率模型图像生成图像修复图像降噪语言…

【Linux】Linux下的自动化构建工具——make/makefile

&#x1f4ac;推荐一款模拟面试、刷题神器 、从基础到大厂面试题&#xff1a;&#x1f449;点击跳转刷题网站进行注册学习 目录 一、make和makefile的区别 二、makefile的原理 1、make的原理详解 2、临时文件的清理 3、文件的三个时间 三、makefile的推导规则 四、实现一…