网易首页 > 网易号 > 正文 申请入驻

读代码前先跑5个「Git命令」?方法火了

0
分享至

来源:市场资讯

(来源:机器之心)

机器之心编辑部

问大家一个问题:当你接触一个陌生的代码库时,第一步是做什么?

相信大多数人的做法是,打开 README,从目录开始,一行一行往下读。但现在,一些工程师开始采用一种完全不同的方法:在看代码之前,先看 Git。

最近,一篇名为「在阅读任何代码之前,我会运行的 Git 命令」的文章引发网友热议,文中提出一个看似简单却颇具颠覆性的观点:代码只是结果,Git 才是过程。


如何理解?

作者 Ally Piechowski 认为,对于一个新的代码库,打开终端,运行一组 Git 命令,在查看任何文件之前,「提交历史」就能给出一幅关于这个项目的「诊断图」:是谁构建了它、问题集中在哪些地方、团队是自信满满地交付,还是在雷区边缘小心试探……

因此,Ally Piechowski 建议,在读代码之前,可以先运行这五个 Git 命令:

一、哪些地方改动最多


通过这一 Git 命令,可以查看过去一年中改动最多的 20 个文件,排在最前面的那个文件,几乎总是别人会提前提醒那一个:「哦对,就是那个文件,没人敢动它。」

当然,高频改动并不一定意味着代码不好,有时只是开发活跃,但如果一个文件改动频繁,同时又没人愿意接手,那可能就是最明确的「代码拖累」信号。这里的每一次修改,往往都是「旧补丁上再打补丁」。一个小改动的影响范围难以预测。团队在做估算时会刻意加 buffer,因为他们知道这块代码「会反抗」。

2005 年微软研究院的一项研究发现,基于「变更频率」(churn)的指标,比单纯的复杂度指标更能预测缺陷。往往一个同时「高 churn + 高 bug」的文件,就是最大的风险点。

二、谁在写这些代码?


查看按提交数量排序的所有贡献者,如果一个人贡献了 60% 以上,那就可能是「关键人依赖」(bus factor),而如果这个人已经在六个月前离开了,那就是危机。

另外在尾部,比如有 30 个贡献者,但过去一年只有 3 个活跃。这说明,构建这个系统的人,并不是现在在维护它的人。

还需要注意的是:如果团队使用 squash merge(压缩合并),作者信息会被压缩。这种情况下,结果反映的是「谁合并了代码」,而不是「谁写了代码」。因此在下结论前,最好先了解团队的合并策略。

三、Bug 都集中在哪?


这一命令的结构与 churn 分析类似,但只筛选包含 Bug 关键词的提交。将这个列表与前面的 churn 热点做对比,两个列表都出现的文件,就是最高风险代码:它们不断出问题、不断被修补,但从未被彻底解决。

但同时,这也依赖于提交信息的规范程度,如果团队每次都写「update stuff」,那几乎得不到有效信息。不过即便是粗略的 Bug 分布图,也比完全没有要强。

四、项目是在加速,还是在停滞?


这一命令可以查看整个仓库历史中,每个月的提交数量。如果节奏稳定,则说明项目是健康的;如果某个月提交量突然减半,通常意味着有人离开了;如果 6 到 12 个月呈下降趋势,说明团队正在失去动能;如果是周期性高峰 + 低谷,说明团队是「集中发版」,而不是持续交付。

五、团队有多频繁在「救火」?


这一命令是查看「回滚」(revert)与「热修复」(hotfix)的频率。一年内偶尔几次是正常的,但如果每隔几周就有一次「回滚」,说明团队并不信任自己的发布流程,而这通常意味着更深层的问题:测试不可靠、缺乏预发布环境(staging),或者部署流程让「回滚」变得困难。

如果结果为零,也是一种信号:要么系统非常稳定,要么团队根本不写清晰的提交信息。

危机模式是很容易识别的:要么存在,要么不存在。

在文章的最后,作者表示,这五个 Git 命令只需要几分钟时间,但却能让你知道:应该先读哪些代码,以及阅读时要重点关注什么,从而让你在一开始就有策略地理解代码库,而非在其中盲目游走。

其实,从作者的分享来看,这几个 Git 命令,改变了传统对代码库的理解方式,提供了一种新的视角,看到的不再只是「现在的代码长什么样」,而是「现在的代码为何会变成这样」。

与此同时,这种新颖的视角在 Hacker News 上并没有被完全接受,大家热议:这,真的靠谱吗?

有网友认为,Git 数据并不总是可靠,Commit Message 也会很水。

他表示,「如果团队有规范的提交信息,这些方法才有用。」但现实中,无论大公司还是中小企业,提交记录往往混乱,清一色的「Changes」、随意 merge、莫名 revert,还有一些人,明明团队约定用 rebase,却还是会提交 merge commit。

所以,他认为,「这一套方法主要只在中大型开源项目中才真正有用 —— 那些有清晰的 CONTRIBUTING.md/ README.md,以及明确的提交规范和合并流程的项目。」


还有网友认为,这种方法是在过度解读 Git 数据,Git 分析并不总是等于真相,很容易误导判断。

他结合自己的亲身经历分析,有时候开发者提交次数多,也许只是因为他们本身能力不行。当然,他也表示,这并不是说提交次数多就等于开发者不好。只是想提醒大家,如果把这些 Git 命令的结果当成事实本身,就有可能看不到全貌。

「如果有人跑完这些命令后跑来跟我说:「我发现某某是提交最多的人,但他 X 个月前离职了,我们该怎么办???」我可能要很努力才能忍住不笑……」


此外,还有一个争议点在于,高 churn 是否等于高风险?

网友认为,在测试中接触最多的文件往往也是最无关紧要的文件,比如依赖文件(package.json)、lock file、CI 配置,以及一些自动生成文件等,这些文件会频繁改动,但并不代表复杂。

因此,更准确的做法是,将 churn 结合复杂度来看。


那么你呢,你是如何看代码库的?或者觉得这种方法是否有启发,欢迎大家评论区留言、交流!

https://piechowski.io/post/git-commands-before-reading-code/

https://news.ycombinator.com/item?id=47687273

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
日本乒乓球名将水谷隼说:中国队之所以强大,根本不是技术优势

日本乒乓球名将水谷隼说:中国队之所以强大,根本不是技术优势

篮球看比赛
2026-02-04 17:46:56
夏天不建议买的5种蔬菜,不仅没营养还伤身体,菜贩自己都不吃

夏天不建议买的5种蔬菜,不仅没营养还伤身体,菜贩自己都不吃

芹姐说生活
2026-05-13 19:12:39
别等阿隆索了!利物浦锁定欧洲最佳少帅,他才是安菲尔德真命天子

别等阿隆索了!利物浦锁定欧洲最佳少帅,他才是安菲尔德真命天子

澜归序
2026-05-14 01:08:23
食堂阿姨偷偷给贫困生多打菜,被同学举报后开除,次日接到局里电话

食堂阿姨偷偷给贫困生多打菜,被同学举报后开除,次日接到局里电话

罪案洞察者
2025-11-03 13:59:03
巴拉圭总统窜台遭中方强硬反击:牛肉出口暴跌23%,87%民众喊痛

巴拉圭总统窜台遭中方强硬反击:牛肉出口暴跌23%,87%民众喊痛

阿离家居
2026-05-13 11:16:44
难以置信!网传大学教授点外卖被骑手教育,反怼其“提鞋都不配”

难以置信!网传大学教授点外卖被骑手教育,反怼其“提鞋都不配”

火山詩话
2026-05-11 16:17:16
三星开始自动封杀"广告流氓"App

三星开始自动封杀"广告流氓"App

像素与芯片
2026-05-12 07:15:11
印媒:大尼科巴岛将成为中国的噩梦!

印媒:大尼科巴岛将成为中国的噩梦!

达文西看世界
2026-05-10 08:28:38
扣留联合国副秘书长45分钟,以色列说"认错人",联合国取消会面

扣留联合国副秘书长45分钟,以色列说"认错人",联合国取消会面

一口娱乐
2026-05-13 19:52:46
为什么出了“五服”才不是亲戚?你知道“五服”是什么吗?

为什么出了“五服”才不是亲戚?你知道“五服”是什么吗?

凉州辞
2026-05-13 15:50:03
广厦G3淘汰山西!胡金秋+三外齐爆,孙铭徽效果极佳,山西无组织

广厦G3淘汰山西!胡金秋+三外齐爆,孙铭徽效果极佳,山西无组织

篮球资讯达人
2026-05-13 21:39:57
王暖暖发文回应网友猜测:账号永久属于我个人,未来会以个人形式发展,更长远的打算是回老家做点小生意,与机构立场不同,无对错之分

王暖暖发文回应网友猜测:账号永久属于我个人,未来会以个人形式发展,更长远的打算是回老家做点小生意,与机构立场不同,无对错之分

930老友记
2026-05-13 11:19:44
特朗普就要到北京,美媒突然发现不对劲:中国人怎么完全不兴奋了

特朗普就要到北京,美媒突然发现不对劲:中国人怎么完全不兴奋了

董董历史烩
2026-05-14 02:29:56
光通信爆火,国产薄膜铌酸锂光芯片加速跑

光通信爆火,国产薄膜铌酸锂光芯片加速跑

EEWorld电子工程世界
2026-05-13 08:06:24
赖昌星发妻曾明娜现状:逃亡10年后回国,守着3000平老宅安静养老

赖昌星发妻曾明娜现状:逃亡10年后回国,守着3000平老宅安静养老

古书记史
2025-12-12 11:21:38
退休党员别再乱交党费了!2026标准已明确,不少人白交多年冤枉钱

退休党员别再乱交党费了!2026标准已明确,不少人白交多年冤枉钱

笑熬浆糊111
2026-05-13 00:05:16
上海交大解剖260名脑梗死者,惊讶发现:患脑梗的人,有5大共性

上海交大解剖260名脑梗死者,惊讶发现:患脑梗的人,有5大共性

蜉蝣说
2026-05-12 10:52:35
2块钱一瓶的“维c”,被网友们用出花来了!分分钟解决生活中痛点

2块钱一瓶的“维c”,被网友们用出花来了!分分钟解决生活中痛点

Home范
2026-05-12 13:40:31
独属中国军人的气质,稳如泰山

独属中国军人的气质,稳如泰山

三叔的装备空间
2026-05-13 22:44:53
两次嫁给梁靖崑,退圈安心照顾两个儿子,如今丈夫成为大学教授

两次嫁给梁靖崑,退圈安心照顾两个儿子,如今丈夫成为大学教授

往史过眼云烟
2026-05-12 22:04:20
2026-05-14 04:55:00
新浪财经 incentive-icons
新浪财经
新浪财经是一家创建于1999年8月的财经平台
3179999文章数 7359关注度
往期回顾 全部

科技要闻

阿里年营收首破万亿,AI终于不再是画大饼

头条要闻

女子闪婚获千万房产99%份额闪离后起诉分割 法院判了

头条要闻

女子闪婚获千万房产99%份额闪离后起诉分割 法院判了

体育要闻

14年半,74万,何冰娇没选那条更安稳的路

娱乐要闻

白鹿掉20万粉,网友为李晨鸣不平

财经要闻

美国总统特朗普抵达北京

汽车要闻

C级纯电轿跑 吉利银河"TT"申报图来了

态度原创

房产
数码
游戏
旅游
家居

房产要闻

卷疯了!最低杀到7字头!手握30万,海口楼市横着走!

数码要闻

徕芬智能卷发棒Styler发布,499元

LOL迎来史诗级改动,GEN被削废T1获利!GEN老板:为谁改的版本?

旅游要闻

四大入口协同发力 让外国游客“丝滑”逛北京

家居要闻

内在自叙,无域有方

无障碍浏览 进入关怀版