提高GIT中代码质量的七点优秀实践

译文
开发 前端
本文和您讨论在GIT中,影响代码质量的七项优秀实践,希望能够对您的日常开发项目提供帮助。

【51CTO.com快译】

 毋庸置疑,由于Git允许开发人员能够同时在相同的代码库上工作,因此它在各类软件开发中起到了重要的作用。不过,我们也发现部分开发人员由于未能遵循Git的相关最佳实践(请参见--https://acompiler.com/git-best-practices/),因此导致了各种程序在运行,以及代码调用过程中所暴露出来的棘手问题。下面,我将和您讨论在GIT中,影响代码质量的七项优秀实践,希望能够对您的日常开发项目提供帮助。

[[337166]]

1.原子性提交(Atomic Commit)

众所周知:向Git提交内容,就意味着您已经确认了代码的更改,并希望将其作为新的受信任版本,保存到Git存储库中。不过,版本控制系统通常不会限制您提交代码的方式。也就是说,您可以采取如下三种方式中的任何一种:

  • 一次性提交上千个更改。
  • 提交所有的dll和其他依赖项。
  • 将有问题的代码检入存储库中。

可见,此举并不能保证更新代码的一致性,有时甚至会让代码的整体质量有所下降。因此我们需要一些时间来检查代码(请参见-- https://dzone.com/articles/what-is-code-review-and-why-do-you-need-it)。在此,为了保障团队的总体生产力水平,我们可以采用原子性提交(请参见-- https://acompiler.com/git-commands/),例如:在执行原子性提交时,您的某项更改提交可能会涉及多个文件,那么我们应当确保这是全局性的写入,进而避免出现任何不一致的情况。和我们以前熟悉的数据库原子性一样,我们显然需要将其贯彻到针对Git的操作中。

2.明确地说明提交的内容

许多开发人员只是一味地执行更改,提交,以及推送等操作流程,从来不会顾及提交文件的类型和必要性。这样就会导致诸如:dll和pdf等不需要的文件类型,被提交到了存储库中。因此,在将代码检入存储库之前,您可以考虑如下两个问题:

  • 您是否确实需要检入所有的文件?
  • 它们是否为源代码中必要的部分?

您可以简单地使用.gitignore文件(请参见-- https://acompiler.com/git-commands/),来避免在存储库中出现那些不需要的文件。.gitignore文件既能够为我们提高存储库的清晰度,又有助于我们保持代码的整洁性。据此,您可以自由地提交各种代码文件,那些.dll和.class等自动生成的非必要文件,则会被自动地忽略掉。如果您要同时处理多个存储库,则可以使用全局.gitignore文件,而无需反复地进行添加或推送。

3.掌握各种Git命令

毫无疑问,Git是一个功能强大、且超级实用的工具。如果您能够像对待Linux/Unix操作系统那样,熟练地掌握各种基本的git命令(请参见--https://acompiler.com/git-commands/),那么您就能够更有效地使用该工具,并在操作Git的过程中达到事半功倍的效果。

在使用Git时,您可能会碰到一些语法规则等困难,而Git提供了非常友好的联机帮助。您可以使用“git help+命令名称”从git的bash中了解有关某个Git命令的更多信息。这种快捷的查找方式,几乎含括了您可能用到的所有git命令。

4.梳理工作流程

如果您的团队正在某个Git管理项目上协同工作,那么整个开发团队必须确保并使用相同的工作流程。统一流程无疑会给大家带来如下三项优势:

  • 让开发的整个过程更具有条理性。
  • 良好的Git工作流程可始终确保分支(branches)处于整洁状态。
  • 让团队的沟通更加流畅,并提高输出代码的整体质量。

5.先测试后推送

我们需要在提交代码,或将代码推送到生成环境之前,对各项更改进行充分地测试。过去,我们想方设法阻止项目成员将有缺陷的代码,直接提交的本地存储库中。如今,我们同样需要本着敏捷开发的思想,避免那些有问题的源代码,给在线协作团队造成困扰。在具体实践中,我们需要做到:

  • 鼓励整个团队在提交之前,针对其代码的更改部分开展相关的单元测试,这是从根源上避免代码缺陷的流出。
  • 如果在构建的过程中,发现了任何代码的错误,应立即终止构建。大家可通过“会诊”的方式,及时修复该错误,以避免此类错误流入Git中,甚至被其他的代码段所调用到。

6.保护主(master)分支

由于Git中的默认分支是master,因此我们需要确保master分支上的代码,能够稳定地处于生产环境之中。您可以通过诸如:前后钩子(pre and post hooks)、以及公司相关策略等多种方式,来保护master分支。此外,您还可以在master分支上启用如下防护措施:

  • 确保master分支不会被意外或有意地删除。
  • 在master分支上的各种提交历史记录,不应被覆盖掉。
  • 在master中,代码不应在未经审查的情况下,被直接检入。

7.分支管理

Git提供了强大的分支模型。您应该将手头的代码保留在与主分支完全隔离的其他分支中。无论您是要添加一个新功能,还是修复一些错误,亦或需要进行重构,都请首先创建一个新的分支。在完成了必要的更改之后,请审查代码,再发出拉取请求,将其合并到主分支中,并保持同步。

小结

上面便是我们在使用Git时,需要遵循的七项优秀实践。当然,为了进一步提高代码质量和整体生产率,您也可以借鉴AFTER技术,具体内容可参考--https://acompiler.com/after-technique/。

【原标题】7 Best Practices in GIT for Your Code Quality ,作者: Rajeev Bera

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:华轩 来源: 51CTO
相关推荐

2021-05-07 09:00:00

JavaScript开发代码

2022-05-16 08:45:05

数据质量数据安全

2018-12-27 09:00:00

Java代码编程语言

2011-05-05 17:13:06

扫描仪

2009-08-03 09:45:14

ASP.NET Ses

2023-03-16 08:01:56

TypeScript开源编程语言

2015-05-06 09:20:34

代码质量代码审查实践

2020-05-13 10:23:30

离岸供应商IT服务首席信息官

2023-01-13 16:34:08

2023-01-06 18:31:46

准确命名

2022-08-04 09:01:45

TypeScriptMicrosoft

2012-11-05 10:43:38

软件质量软件开发Facebook

2012-11-06 13:24:51

Amazon软件质量软件开发

2022-02-21 17:11:34

微服务分布式测试

2020-11-24 10:32:16

CIO首席信息官工具

2012-06-08 10:12:56

软件质量Google

2018-12-05 15:24:31

2021-01-25 10:11:24

服务器安全防护

2023-07-06 14:51:30

开发高质量软件

2021-03-14 09:37:45

Git仓库管理代码
点赞
收藏

51CTO技术栈公众号