文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-11 16:49

关注

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

[[337166]]

1.原子性提交(Atomic Commit)

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

可见,此举并不能保证更新代码的一致性,有时甚至会让代码的整体质量有所下降。因此我们需要一些时间来检查代码(请参见-- 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管理项目上协同工作,那么整个开发团队必须确保并使用相同的工作流程。统一流程无疑会给大家带来如下三项优势:

5.先测试后推送

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

6.保护主(master)分支

由于Git中的默认分支是master,因此我们需要确保master分支上的代码,能够稳定地处于生产环境之中。您可以通过诸如:前后钩子(pre and post hooks)、以及公司相关策略等多种方式,来保护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内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯