前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >提高GIT中代码质量的七点优秀实践

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

作者头像
Java帮帮
发布2020-08-21 16:55:33
7830
发布2020-08-21 16:55:33
举报

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

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/。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档