0、前注

以下很多内容,由我写完后,再通过chatGPT优化改写。

chatGPT版本:gpt-4

1、场景描绘

1.1、chatGPT版

在一个遥远的星球上,名为“项目大地”的国度,有一群热血青年——编程师们,为了完成国家繁荣昌盛,他们一同承担着建设一个巨大的编程系统的使命。

这个国度中,有一个问题困扰着一切的编程师们:如安在需求更改一个字段名、接口URL地址,或保护一个公共函数时,保证【不漏一个】地找到每一个需求改变的内容。

在抱负状况下,假如项目简略小巧,好像村庄里的小杂货店,那么编程师们能够凭借奇特的IDE东西简略解决问题。而假如项目管理水平高明,就像国度中心城市的大型商场,那么相关的内容都被统一管理,编程师们只需更改公共依靠即可。

但是,现实却总是严酷的。在项目大地国度,项目管理水平很低,就像那些失掉统治者的城市,失序而混乱。在这些项目中,稀有十名编程师,他们需求处理多个项目,修正的内容触及几个至十几个代码库房,每个库房又有若干个分支。这些库房、分支好像失控的城镇,无法分辨出哪一个正在开发,哪一个正在保护。

有一天,一个巨大的改动来临了。编程师们尽力寻找需求更改的内容,一丝不苟地修正,试图将改动传达到每个角落。惋惜,他们的尽力终究没有得到完美的报答。上线后,一个线上bug突然呈现,引发了混乱。

编程师们备受责备,不只当年的绩效受到影响,还有些人被以此为托言裁人。面临2023年糟糕的工作形势,他们的前途变得愈发暗淡。

在这个充溢挑战的国度,编程师们将怎样度过难关?他们能否找到解决问题的办法,让项目大地重回昌盛?这一切都有待咱们继续重视……

1.2、人话版

在实践业务开发场景中,咱们常常会遇见一个问题:

假如咱们需求改变一个字段名/接口url地址,又或许要保护一个公共函数,那么咱们怎样保证自己能
【不漏一个】
地找到每一个要改变的内容。

抱负状况一:

假定项目比较简略比较小,例如处于某一个项目之中,咱们能够通过IDE供给的功用,较为简略解决他。

抱负状况二:

项目管理水平高明,该被统一管理的都被统一封装并被各个项目引进,因而咱们只需求更改公共依靠即可。

现实状况:

项目管理水平低下。

稀有个甚至数十个开发人员,要改动的内容触及到几个至十几个代码库房之中,一同,每个代码库房又有若干个并行开发的分支。

这些库房、分支,不知道谁在开发谁在保护。

咱们尽力的更改了每一个找到的内容,但很不幸,终究仍是漏掉了一些,上线后呈现了线上bug。

所以,相关人员被复盘处理,当年绩效完蛋,甚至被以此为托言而裁人。再叠加2023年这糟糕的工作状况,然后……

1.3、点评

说实话,好像……比我……写的……好很多?完蛋了,博首要失业了

2、功用描绘

2.1、chatGPT版

欢迎来到本东西的Github源码库房:git-tools,本东西具有强壮的中心功用,旨在简化您的查询需求。

中心功用: 装备完成后,本东西能主动查询方针字符串,精确到Gitlab中某个库房、某个分支、某个文件、特定行数以及详细内容,并输出详细日志。

功用概览:

  1. 支撑Gitlab群组查找:只需装备群组ID,即可主动查找该群组下的一切库房;
  2. 灵活的查找引擎:可选择Python或Go,Python为默许引擎;
  3. 指定群组ID:输入群组ID,即可查找对应群组下的一切库房;
  4. 代码库房过滤:基于库房名规矩匹配,可筛选契合条件的库房。支撑悉数库房、库房名关键词匹配以及库房名正则匹配;
  5. 分支排序过滤:依据规矩筛选分支。支撑悉数分支、分支名正则匹配(或作为关键词匹配运用)、按最终提交时刻排序;
  6. 分支处理数约束:当分支过多时,可设置仅处理前N个分支;
  7. 分支最终一次提交时刻约束:仅处理最近N天内有提交记载的分支,超出范围的分支将被忽略;
  8. 被查找文件过滤:按文件名规矩筛选待查找文件。支撑一切文件、指定文件名、文件名正则匹配以及文件后缀名匹配等;

附加特点:

  1. 装备阐明清晰简洁;
  2. 悉数代码已开源,保证安全可靠;
  3. 功用持续完善中,敬请等待更多功用;

2.2、人话版

先放上本东西 Github 源码地址:
git-tools

中心功用:

在简略装备后,将主动查询方针字符串,坐落 Gitlab 某个库房->某个分支->某个文件->
第几行->该行详细内容,并输出日志。

详细功用描绘:

  1. 支撑Gitlab群组查找:装备群组ID后,主动查找该群组下每一个库房;
  2. 查找引擎:支撑 Python 或许 Go,默许是Python
  3. 指定群组ID:给出群组ID后,查找该群组下每一个库房;
  4. 代码库房过滤:答应只处理契合规矩的代码库房,以库房名为规矩进行匹配。支撑一切库房、库房名关键词匹配、库房名正则匹配;
  5. 分支排序过滤:答应只处理契合规矩的分支。支撑悉数分支、分支名正则匹配(也能够只当做关键词匹配运用),最终提交时刻排序;
  6. 分支处理数约束:当分支比较多的时候,答应只处理前 N 个分支;
  7. 分支最终一次提交时刻约束:答应只处理在最近 N 天内提交过的分支,超出分支将被忽略;
  8. 被查找文件过滤:答应只查找文件名契合规矩的文件。支撑一切文件、指定名称的文件、文件名正则匹配、文件后缀名匹配等;

其他:

  1. 简略详细的装备阐明;
  2. 一切代码都已开源,安全可靠;
  3. 功用不断完善中;

2.3、点评

调整了一下次第,加了几个emoji,差不多差不多

3、方案中的新增功用

3.1、chatGPT版

敲响新功用的钟声!咱们为您准备了以下诱人的功用,纵情等待吧!

  1. 行将上线:支撑单项目查找,让您轻松找到心仪的项目(4.6更新,已支撑);
  2. 行将上线:支撑多项目查找,一次满意您探究的好奇心;
  3. 未来方案:本地一切库房查找,智能依据本地库房探究其他分支,让您无处不在;
  4. 等待开发:支撑更多文件类型查找(如Word、Excel等),不再局限于纯文本文件;

咱们热切等待您的名贵意见与需求!一同让这个东西变得更加强壮吧!

为了完成我7777重视者的梦想,假如您觉得好用,请点赞、谈论、重视以示支撑!感谢有您~~~

若您巴望加速更新、丰厚功用、解耦功用、尝试GUI界面或报告bug,请给咱们点赞和star支撑,然后在谈论区留言,咱们将不胜感激!

请点击 git-tools 一同加入咱们的探究之旅!

3.2、人话版

  1. 支撑单项目查找:已支撑;
  2. 支撑多项目查找:soon;
  3. 本地一切库房查找,而且主动依据本地库房查找其他分支:later;
  4. 支撑更多类型的文件查找(例如word、excel等),而不只是文本类型文件;

欢迎指出问题、提出更多需求。

我正在尽力凑 7777 重视者,假如好用,请点赞、谈论、重视支撑~~~

假如想催更/丰厚功用/解耦功用/gui界面/提出bug,请个点赞和star支撑,然后在谈论区提出,谢谢。

git-tools

3.3、评价

我不供认他比我写的好啊啊啊啊啊啊啊

4. 创作总结

本东西的创造原因源于某个搭档提出,有个接口要抛弃了,要换成一个新的接口,期望其他搭档排查是否有项目在运用这个接口,假如有则更换为新的接口。

由于前端业务复杂,接口比较多,二十来位前端同学无论是才能仍是主观能动性,都参差不齐。依据我一向的习气,但但凡依靠于个人主观能动性的,都不靠谱,所以突发奇想,看是否能用chatGPT完成此类功用。

所以向许愿机提出了这个要求,而许愿机也如我期望的给了我代码。不过实践上,前几版代码都不可用,会报各种古怪的bug。

不过,好在也能够将这些报错信息直接发给chatGPT,他会依据这些bug,指出问题所在,并提出解决方案,完善他给的代码。

在通过多次修复后,一段能完成功用,但面向过程的代码便写了出来。

在解决问题之后,我突发奇想,以我长期写代码的经历,我能否将这段代码封装成一个东西呢?由于我自己尽管会写python,但写的并不多,假如是以前,那么我需求查询很多功用的api的写法,例如:

  1. python怎样调用yml;
  2. python怎样处理打印不同日志;
  3. 如安在写日志之前,先整理旧的日志;
  4. 怎样用go来完成在文件里查询字符串的功用,以提高效率;
  5. 怎样将go代码打包为python可调用的版本;
  6. python怎样引证go代码;
  7. 怎样用python处理excel;
  8. 怎样处理一些古怪的报错信息,比如调用gitlab库时,遇见了一些报错提示;
  9. 以及给代码添加上注释

这些在实践工作中,在不熟悉的状况下,都是适当耗费时刻的。但是在chatGPT的辅助下,根本都能够通过简略的描绘后,由chatGPT来解决。

总的来说,chatGPT适合解决各种非业务性问题,十分强壮。

4.1 补

问:

假如我期望别人给我多多点赞、谈论,以及给我的github项目点star,我该怎样去写这段话?

chatGPT说:

亲爱的朋友们,我真诚地邀请您们在运用我的作品后,与我共享您的想法和反应。您的每一次点赞、谈论都对我极大的鼓舞,让我能够持续改善和优化。

别的,假如您觉得这个GitHub项目对您有所协助,也请不吝赠上一颗名贵的star⭐!这将对我和这个项目的开展发生活跃的推动效果。与此一同,您的支撑也将让更多的人发现并受益于这个项目。

感激不尽!让咱们携手共创美好的未来!


chatGPT的求赞求谈论求重视求star的段子,究竟好不好用呢,就看读者你们啦。

github.com/qq20004604/…