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

读代码前先跑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-04-09 15:54:18
中国将来的最大敌人:并非特朗普,而是手握杀招重构科技规则的他

中国将来的最大敌人:并非特朗普,而是手握杀招重构科技规则的他

Thurman在昆明
2026-04-09 18:01:37
祝贺!35岁数学家王虹,获得最高荣誉

祝贺!35岁数学家王虹,获得最高荣誉

双一流高校
2026-04-06 00:09:39
别傻了!在澳门输1000万跑回内地,叠码仔的追债手段,比你想的阴

别傻了!在澳门输1000万跑回内地,叠码仔的追债手段,比你想的阴

贱议你读史
2026-04-08 22:29:33
签了停火也没用!美国85名议员联手逼宫,坚持罢免特朗普

签了停火也没用!美国85名议员联手逼宫,坚持罢免特朗普

肖兹探秘说
2026-04-09 18:06:47
1978年陈丽华丈夫迟重瑞罕见青春珍贵留影

1978年陈丽华丈夫迟重瑞罕见青春珍贵留影

荒野老五
2026-04-08 17:55:21
物业费会不会是压死失业人群的最后一根稻草?

物业费会不会是压死失业人群的最后一根稻草?

慧翔百科
2026-04-09 18:26:20
73岁大爷为43岁妻子做阴茎假体手术,网友破防了:这才是真爱

73岁大爷为43岁妻子做阴茎假体手术,网友破防了:这才是真爱

魔都姐姐杂谈
2026-04-02 18:52:46
涉嫌严重违纪违法,刘昌卫被查

涉嫌严重违纪违法,刘昌卫被查

吉刻新闻
2026-04-09 09:38:24
麻六记杨总直播辟谣!马筱梅不是不愿带孩子回北京,而是在办证件

麻六记杨总直播辟谣!马筱梅不是不愿带孩子回北京,而是在办证件

小徐讲八卦
2026-04-09 16:52:30
刘强东和章泽天成立新公司

刘强东和章泽天成立新公司

雷达财经
2026-04-09 14:50:10
揭秘:马丁内利对阿森纳离队的立场

揭秘:马丁内利对阿森纳离队的立场

绿茵情报局
2026-04-09 17:48:56
今晚霉运全清零,明天好运一路开挂!心善行正,好运自然来

今晚霉运全清零,明天好运一路开挂!心善行正,好运自然来

金沛的国学笔记
2026-04-09 14:24:07
NBA第一!约基奇赛季砍下34次三双,他能打破单季三双纪录吗?

NBA第一!约基奇赛季砍下34次三双,他能打破单季三双纪录吗?

林子说事
2026-04-09 18:14:40
纪委是如何发现贪腐的?看完这篇,你就明白了

纪委是如何发现贪腐的?看完这篇,你就明白了

细说职场
2026-04-09 09:20:30
上海地铁宣传海报里有人随地小便?地铁方:第一时间前往现场核查,画面较为模糊,无法判断

上海地铁宣传海报里有人随地小便?地铁方:第一时间前往现场核查,画面较为模糊,无法判断

洪观新闻
2026-04-09 16:17:08
西方媒体:就算中国全力以赴,也不可能按时建成这样庞大的工程

西方媒体:就算中国全力以赴,也不可能按时建成这样庞大的工程

黑翼天使
2026-04-09 16:26:10
国企干10年:审计是找麻烦,纪检是要你命!

国企干10年:审计是找麻烦,纪检是要你命!

一口娱乐
2026-04-09 16:41:48
张雪峰去世15天,原配李丽婧罕见发声,透露张姩菡近况,令人担忧

张雪峰去世15天,原配李丽婧罕见发声,透露张姩菡近况,令人担忧

秋姐居
2026-04-08 17:19:31
56岁鲁豫坐竹椅瘦脱相!手骨像枯枝,这病态美让人心疼又上头?

56岁鲁豫坐竹椅瘦脱相!手骨像枯枝,这病态美让人心疼又上头?

娱乐领航家
2026-02-12 23:00:04
2026-04-09 19:28:49
机器之心Pro incentive-icons
机器之心Pro
专业的人工智能媒体
12719文章数 142621关注度
往期回顾 全部

科技要闻

Meta凌晨首发闭源大模型 扎克伯格又行了?

头条要闻

一群人闯进女子刚买的新房砸了两面墙 物业称出于好心

头条要闻

一群人闯进女子刚买的新房砸了两面墙 物业称出于好心

体育要闻

8万人面前心脏骤停 现在他还站在球场上

娱乐要闻

金莎官宣结婚 与老公孙丞潇相差18岁

财经要闻

停火首日,霍尔木兹仅有4艘船通过

汽车要闻

文飞的回归 给神行者带来什么?

态度原创

本地
房产
家居
公开课
军事航空

本地新闻

12吨巧克力有难,全网化身超级侦探添乱

房产要闻

利润暴跌44%!那个春节被骂惨了的海峡股份 正在经历什么?

家居要闻

清新自然 复古风尚

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

黎真主党发射火箭弹 回应以违反停火协议

无障碍浏览 进入关怀版