Git 原子提交如何显著提高我的工作效率 - 并且也会提高你的工作效率
原子:在较大的系统中形成单个不可分割的单元或组件。
也可在我的博客上找到。
知道 VS 实际知道
我记得我的第一位导师告诉我测试驱动开发(Test Driven Development)。这是一种很棒的软件工程方法论。我只花了几分钟就理解了它的含义和工作原理。
接下来的六个月里,我完全没有去实践它。TDD 刚开始很难,所以……就不实践了。
半年后,我在开发一个新功能时碰壁了。我第一次强迫自己严格按照书本上的要求进行测试驱动开发 (TDD)。阻碍我进步的那堵墙瞬间消失了。
在之前的一篇文章中,我解释过很多经理和技术主管往往明明知道如何让行业变得更好……却又做不到。总有充分的理由让我们做错事。而不知何故,当我们做错事时,我们最终还是会感到惊讶。
这篇长篇介绍是为了说明一个观点:你可能知道应该做什么,但你可能不知道真正去做这件事有多重要。很多人,就像我以前一样,知道 TDD 有多棒……但却仍然没有去使用它。
最简单的概念往往能彻底改变你的工作方式……只要你肯用。介绍:原子 git 提交。
什么是原子 git 提交?
使用原子提交意味着你的提交尽可能小。每次提交只做一件简单的事情,可以用一句话概括。
代码修改的数量并不重要。它可以是一个字母,也可以是十万行,但你应该能够用一句简单的短句来描述这种变化。
理想情况下,您还希望测试套件在提交时能够正常生效。您的更改可能是“原子的”,即尽可能小的更改,但它们也应该是“完整的”,这意味着您的测试套件始终能够遵循这些更改。
尽可能小,但完整:这是一个原子 git 提交。
为什么要写原子 git 提交?
实践原子提交有很多好处,我们将简要介绍一下。但最后一个好处才是最重要的。它可能会彻底改变你的工作方式,将你的工作效率提高一个数量级,让你的工作更加愉快。
原因 1:原子变化是可逆变化
我们都知道一个关于软件的简单道理:需求总是在变化。通过编写原子 git 提交,我们可以通过简单的提交还原来撤销任何更改。这已经极大地提高了你的工作效率。
原因 2:干净的 git 历史记录
当事情变得棘手时,清白的不良记录意味着痛苦与救赎之间的区别。这就像给你的房子上保险:看似无用,直到发生火灾。
原因 3:拉取请求更容易审查
您的团队一定会因此而爱上您。
原因四:更好的工作流程
这是迄今为止实践原子 git 提交的最重要的原因:它彻底改变了您解决问题的方式。
如果你像我一样,在开发某个功能时可能会有一种倾向,那就是……彻底地完成它。
然后你就会意识到你并没有把一切都考虑清楚。
你需要做的修改比预期的要多。有些边缘情况没有被考虑进去。你破坏了一些不相关的测试,它们需要修复。很快,你就陷入了自己亲手打造的迷宫。你迷失了方向,头很痛。如果不全神贯注,你就无法取得任何进展。
好吧,这是错误的做事方式。更糟糕的是,你已经知道正确的方法了,因为它太明显了。
完成一项庞大而复杂的任务,有一个众所周知的方法:将其分解成更小、更易于管理的细小步骤。每个步骤本身就是一个需要解决的简单问题。这显然是一条建议,你可能已经听过很多次了……但你在日常工作中真的实践过它吗?
好吧,这里有一个实际练习它的好方法:编写原子 git 提交。
通过强制使用原子提交,你就能以正确的方式处理工作,将工作简化为更小的步骤。毕竟,简化复杂性是我们工作的核心。那么,为什么我们总是没有意识到这一点呢?
当然,这个建议听起来可能显而易见。但如果我过去的经验能证明什么的话,那就是显而易见的事情确实值得重复,更重要的是,值得实践。
让你的工作更简单、更好、更易于管理,最重要的是:让它更轻松。循序渐进,编写小的提交。原子提交。你一定会爱上它们。
文章来源:https://dev.to/samuelfaure/how-atomic-git-commits-dramatically-increased-my-productivity-and-will-increase-yours-too-4a84