当前位置: 首页 > 科技观察

80%的程序员,不会写Commit记录

时间:2023-03-12 07:15:59 科技观察

80%的程序员不知道怎么写Commit记录转载本文请联系味小姐公众号。据说80%的程序员都不知道怎么写commit记录。在没有监管的小公司,这个比例会更高。可见这是多么普遍。程序员应该写一个简洁明了的commitlog,否则对别人和自己都是一种麻烦。最近codereview比较多,总有种想笑的感觉。就像下图ok的满屏一样,从中永远看不出作者的用意。提交日志将如何提交?约定是什么?其实是有答案的。对于Java程序员来说,特别高兴。IDEA有一个非常有用的插件,可以用来辅助你进行代码提交和团队规范构建。接下来,我将向您展示如何使用它。安装插件在IDEA的Marketplace中,搜索GitCommitTemplate,即可安装该插件。该插件体积小,可以快速下载。从IDEA正常提交代码时。我们发现了一个额外的小按钮。点击后,会弹出一个窗口。让您设计提交模板。这么多信息,真是眼花缭乱。难怪程序员不喜欢写提交记录。其实提交记录的格式在插件安装界面已经说明了。():

从描述中,您可以很容易地看到提交记录中应该包含哪些内容。其中类型最多的当然是提交类型了。提交类型Type下面按照插件显示的顺序来说明。featfunctionfeature的意思也是最常用的。当你的功能改变时,你可以使用这种类型的修复。当然,它指的是错误修复文档。更新文档,或者更新评论样式。代码格式调整,如执行格式、改变标签显示等Refactor重构构建代码。指的是代码结构的调整,比如使用一些设计模式重新组织代码perf,以优化项目或模块的性能。比如一些jvm参数的改变,把stringbuffer改成stringbuilder等测试很简单,就是增加单元测试和自动化相关的代码构建一些影响编译的改变,比如改变maven插件,增加npm进程等.CI持续集成方面的变化。现在有些构建系统喜欢用yml来描述ci功能。如遇此类变化,建议使用cichoreotherchanges。比如一些评论修改或者文件清理。不影响src和测试代码文件的可以放这里。revert回滚了一些以前的代码。除了这些预设之外,团队还可以根据自己的需要添加新的类型。例如,如果您专门处理在线工单,则可以创建一个名为工单的类型。Scope范围是范围的意思,主要是指代码的影响面。范围不要求强制,但团队可以根据自己的理解进行设计。通常分为两种方式:技术维度和业务维度。比如按照技术分为:controller、dto、service、dao等。但是因为一个函数提交涉及多个范围(没有人喜欢很细粒度的提交),所以很少按照技术来划分方面。按业务模块划分也是一个不错的选择。比如分为用户,订单等,很容易看出是影响用户模块还是订单模块。如果实在不知道怎么填,就留空吧。其他题目的题目体现的是总结概括能力,没必要跑题。一句话可以描述什么是maincommit。subject也是很多git管理工具默认显示的行。如果您编写标准,那么提交记录看起来很好并且有条理。TextBody主要填写详细的变化记录。我一般列1234,不过如果你的主题写的好,可以直接弱化正文。但如果时间充裕,把重要记录的前因后果和需求背景填上是个好习惯。最后的footer增加了一些额外的hook,比如记录提交后自动关闭jira工单(JIRA和gitlab可以联动)。例如,触发一些文档编译或其他动作。这部分定制线也比较强势。SkipCI最后还有一个skipCI选项。一般的ci工具都可以设置提交代码时自动触发编译。但是你可以告诉它忽略这个提交。这可能是因为您提前预料到一些构建风险,或者只是不想编译。End最后来看一个典型的提交记录。在工具的支持下,我们的废话也能被看的很认真了。fix(order):修复1分钱买车的bug。商家反馈1毛钱可以买车。目前,已售出100万辆汽车。closes#2455[skipci]其实投稿的核心是type和subject。一个用于表明其提交类型,另一个用于总结提交。写完这两点,你可以轻松秒杀80%的程序员。有了这些基础,从提交日志自动生成变更日志就变得非常容易了。配合持续集成平台,自动生成发布变更记录也是可行的,这也是团队管理层一直强调git提交规范的原因。因为它真的非常有用。作者简介:品味小姐姐(xjjdog),一个不允许程序员走弯路的公众号。专注于基础架构和Linux。十年架构,每天百亿流量,与你探讨高并发世界,给你不一样的滋味。我的个人微信xjjdog0,欢迎加好友进一步交流。