首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

你真的会写 git commit message 吗?

一、背景 技术群里朋友问了一个比较常见问题:“提交代码时候描述什么规定嘛”? 对于这个问题,相信大多数人都认为 too simple。 描述一下这次改了什么内容不就好了吗?...一般来说,一个提交信息应该包括一个类型(比如 feat, fix, docs 等),一个可选范围(比如 player, login 等),一个简洁明了描述,以及一个可选正文和页脚(比如包含更多细节或引用其他资源...以终为始,提交 message 给谁看?什么时候看? 通常我们会在阅读代码时,发现这段代码有些困惑,不清楚是干啥,就会看提交描述来帮助理解。...通常我们发现某段代码 BUG,需要找人背锅时候,需要看下提交信息。 通常我们代码审查时候会去看该同学几次提交,分别是实现什么功能。 2.3 怎么?...通常就新增什么功能;优化了功能;修复了什么问题;删除了什么等。

37420

Git 如何写出优雅Commit Message

本文开头一个代码片段是之前提交提交记录,现在来看的话,已经不知道写了什么?...提交信息和代码一样,不只是给自己看,也是给团队中其他人看,同时也是对提交信息注释。过往经历中,看到过很多小伙伴为了方便随便提交信息。修复一个登陆问题,提交信息却只写了Fix bug。...这就导致了对于代码回溯和问题排查十分困难,时间久了甚至只能一个一个Commit排查。要记住一点:提交信息不只是给自己看,也是给团队看。...示例 使用 实现单点登陆接口 替代 实现新功能 个小建议,大家可以提交代码时候,如果实在是想不到,可以直接使用需求描述作为提交信息。...Feat: 新功能 Upgrade:功能升级或代码变更 Fix: Bug修复 Doc: 文档或README编写 Style: 主题UI变更 Test:新增测试代码 示例 使用 Feat:实现单点登陆接口

1.3K50

开箱即用代码提交规范

开篇 团队中代码提交(git commit)会有各种各样风格,甚至有些人根本没有 commit 规范概念,所以我们回头去查找在哪个版本出现问题时候,就会非常尴尬?,很难快速定位到问题。...下面是代码提交规范插件 vue-cli-plugin-commitlint(对 conventional-changelog-angular 进行了修改/封装)。开箱即用!...:(xxx): xxx' npm run log # 生成 CHANGELOG 代码提交 npm run cz 选择一个类型会自动询问 (非必填)本次提交改变所影响范围 (必填)一个简短变化描述...改变构建流程、或者增加依赖库、工具等 feat 新增 feature fix 修复 bug merge 合并分支 perf 优化相关,比如提升性能、体验 refactor 代码重构,没有加新功能或者修复...bug revert 回滚到上一个版本 style 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑 test 测试用例,包括单元测试、集成测试等 总结 目前好几个项目都在使用这套规范 项目地址

1.2K30

Java 中常见单元测试(一):JUnit

我们为什么不好单元测试 不好单元测试情况很多,很多时候我们也是被需求压着身不由己就开始 “ 胡编乱写” 了。...及早发现软件缺陷 问题早期阶段发现。由于单元测试是由集成之前测试单个代码开发人员执行,因此可以很早就发现问题,并且可以不影响其他代码情况下解决问题。...当然,较早检测到bug更容易修复,因为稍后检测到bug通常是许多更改结果,并且您不知道是哪一个导致了bug。 如何单元测试 上面讲了这么多啰里啰嗦问题,那我们应该怎么呢?...或许当时代码时候确实可以用,但是如何检验正确性呢?如果重构时候,如何发现已经和原来行为不一致了呢? 使用 JUnit5 来进行简单测试 What is JUnit 5?...单元测试图片 自动生成代码如下(如果你熟悉了就可以自己手写,但是 IDEA 能生成,就不手写了),被标记 @Test 方法可以单独测试执行,如果你 IDEA 上可以看到侧边栏绿色带箭头小圆圈

6.2K40

大厂第一堂课,完整git流程

前言 大厂有着数量庞大代码库以及复杂权限验证体系,囊括着开发、测试、上线完整流程。因此必然会有一套代码仓库管理流程,而不再是个人代码随意开发、随意提交。...这个时候我们就有了三个仓库,分别是: 线上仓库(发布项目的git仓库,一般是拥有者是团队或TL) 自己仓库(自己fork线上仓库到自己github) vscode本地仓库(git还在本地一个仓库)...git-5.png 把以前一篇二叉树相关文章添加到头条大佬Book中,接着进行commit, commit内容也应该遵守规范,一般来说是 fix:xx 表示修改了XX代码 feat:xx 新增了...git-7.png 合并之前我们需要做codereview, 我们小组所有进行合并代码必须要进行codereview并且每一个组员都可以参加,codereview是让自己进行提升以及帮助别人纠错一个重要途径...这样就完成了一次完整 PR hotfix 有些时候产品会要求紧急上线一个需求,这个时候需要在线上代码更新,因此我们会从线上分支切一个分支到自己仓库,然后在这个分支上进行修改,修改完以后会提两个PR

1K50

DevOps - 持续集成

我们部门里,自己也是一个tech leader角色,也带着两个项目在身上,项目可以说是部门number one了,我们自动化构建,部署,和部分自动化测试收集过程当中,几个项目也说自己也都做好了自动化构建和部署...开发人员提交代码后是否能得到快速反馈?即是否会运行JUnit去验证代码正确性,部署后是否会运行E2E测试去验证代码正确性. 敏捷一个重要价值观就是持续反馈,但是怎么样实现呢?...TDD时候,我们是强调先写测试代码,但我们知道这样比较难行,因为太少公司能做到这样了,不过我们就因此不JUnit了吗?不,我们要写,我们不得不,但多少呢?...用同一个二进制包进行部署,相信开发人员对这个深有体会,很多时候我们会遇到这样一个问题,明明本地可以呀,为什么上到SIT就不行了, SIT还是可以呀,UAT怎么可能出问题呢?...当在部署时候,DEV是不可用测试人员是SIT测试,所以为了保持稳定环境,我们会对SIT进行手动控制。

93210

CV入门赛最全思路&上分技巧汇总!

比赛进行过程中,天池进行了一次如何调参上分[6]直播分享。 直播对应代码可以我们《动手学CV项目》[7]2.5节找到。...这份代码相信是帮到了一些刚入门同学,提交成绩大概0.75分左右。...关于这部分,这位小伙伴比赛实验记录[8]对相关实验进行了很详细记录,大家感兴趣可以阅读一下~ 1.4 和文本长度相关探索 baseline方案将识别问题转化为了定长识别问题,那么定多长合适?...具体地,体现在测试集最终分数反而要比验证集高一些,如果你直接观察数据,也可以看出来,测试图片中字符图片中占比更大,而训练集中图片字符占比更小。...可以很多方案来达到这个目的,最简单有效方法仅仅需要修改数据增强相关6行代码用TODO作为后缀标注出来,代码如下: train_loader = torch.utils.data.DataLoader

54710

【Dev Club 分享】安卓单元测试:What, Why and How

句话说我们代码90%时间改bug,另外10%时间bug。这句话虽然有点夸张,但是也能说明改bug确实占用了非常多时候。既然单元测试能减少bug,自然也能节约时间。...重构时候,大大提高重构正确性,减少手工测试时间。 所以,希望大家能去掉”没时间单元测试”这个印象,如果工作上安排太紧。...首先澄清一下概念,安卓上面测试”,很多技术方案。...2.2 单元测试定义 单元测试定义相信大家都知道,就是为我们一个代码单元(比如说一个方法)测试代码。...然而等你熟悉测试方法以后,强烈建议先写测试!因为如果你先写了正式代码,那你对这代码是如何work已经一个印象了,因此你往往会写出能顺利通过测试,而忽略一些会让测试不通过情况。

1.4K60

Tensorflow数据读取之tfrecord

这次只记录实验中遇到情况和略懂几点,多余没有怎么看【笑哭】,一个是因为懒,一个是因为官网介绍页太少了8,有点心塞~~ 开门见山,关于Tensorflow读取数据,官网给出了三种方法,分别是...: 1.供给数据(Feeding): TensorFlow程序训练或者测试一个epoch,tf.Session().run()函数中,以字典形式通过feed_dict参数进行赋值。...(好像并没有开门见山,尴尬脸) TFRecords是一种二进制文件,这个格式真的理解无能,据说它不对数据进行压缩,所以可以被快速加载到内存中,要复制和移动时候也是咻一下就搞定,所以说人家作为内定格式是原因...我们可以一段代码获取你数据, 将数据填入到Example协议内存块(protocol buffer),将协议内存块序列化为一个字符串, 并且通过tf.python_io.TFRecordWriter...但是需要注意一个地方是,这两个函数都有一个参数是shape,除了字符串类型特征时候用tf.FixedLenFeature()不用指定要取特征shape,其余类型特征时候要标明取得shape

65520

OpenVINO +YOLOX最新版本推理演示

点击上方↑↑↑“OpenCV学堂”关注 yolox 推理openvino与c++支持 YOLOX模型ONNX格式说明 记得大概是去年七月份时候写过一篇文章是介绍YOLOX+OpenVINO推理...02 什么是8400 模型在数据输入端几乎与YOLOv5代码一致,没有什么特别之处,唯一不同在于输出层解析,是把三个不同输出层合并在一个里面了,分别是80x80, 40x40, 20x20, 每个特征点预测...OpenVINO推理解析 必须说明一点,参考了官方部分代码,然后在上面猛改一通(原因是官方代码不是很好),改完之后,封装成一个类了,主要方法跟我封装YOLOv5推理类相似,导出了两个函数方法...onnxruntime上面也一样可以,基本上重用了大部分代码,然后把它们与我之前YOLOv5+QT演示整合了一下,这样就变成YOLOv5+YOLOx支持OpenVINO/ONNXRUNTIME全部可行推理...6.1版本模型推理 OpenVINO2021.4+YOLOX目标检测模型部署测试 比YOLOv5还厉害YOLOX来了,官方支持OpenVINO推理

75930

Git Commit Message 应该怎么

原文链接: Git Commit Message 应该怎么? 最近被同事吐槽了,说代码提交说明太差。其实都不用他吐槽,自己心里也非常清楚。...毕竟很多时候犯懒,都是直接一个 -m "fix" 就提交上去了。 这样做是非常不好也是自食恶果,深受其害。...bug 修复代码改动; perf:优化代码以提高性能; test:增加测试或优化改善现有的测试; build:修改影响项目构建文件或外部依赖项,比如 npm、gulp、webpack、broccoli...如果两者不同发布,那么当前 commit,会出现在 Change log Reverts 小标题下面。 最后来看一个例子,算是一个总结,至于具体内容还是要根据实际情况来填写。...可以根据提示信息直接: 图片 也可以使用表单方式,选项可以选择: 图片 这样不仅可以很方便地提交说明了,还可以使提交说明更加规范。

69830

Code Review最佳实践

组内知识分享 俗话说好:你一个苹果,一个苹果,我们交换一下,一个人还是只有一个苹果;你一个思想,一个思想,我们交换一下,一人就有了两个思想。这句话同样适用于我们进行软件开发。...提前发现代码问题 一些经验比较少开发者代码时候可能考虑问题不够全面,导致一些边缘情况(edge case)没有考虑到,这时候如果code reviewer是一个工作经验比较多同学的话,就可以帮...作为committer,我们提交代码时候需要将改动控制一个合理范围,个人一个偏好是将改动文件数控制5个文件以内,将改动代码行数控制150行以内,这样的话reviewer就不需要花费太多时间来帮我们...带上必要自动化测试 CR还有一个重要作用就是确保committer提交代码时候带上必要自动化测试,例如单元测试和e2e测试等。...但是我们又不能一点测试都不,因此测试还是很多作用,例如可以帮助我们提前发现问题,好单元测试还可以当做组件或者函数文档使用,同时测试也可以帮我们更加高效地进行代码重构。

73130

花十分钟时间武装你代码

当我们代码很多人维护时,经常会出现代码风格不一致或者代码质量不过关,提交信息杂乱情况,当然啦,即使是一个代码库,有的时候,自己代码时不太注意细节,也会出现风格不一致情况。...本文正是为了解决这个问题而生,阅读本篇文章并不需要很长时间,如果你代码库还没有进行这些配置,正是你大展身手好时机,武装一下你代码库。 1....虽然,我们现在已经可以规范提交信息了,但是我们可能不喜欢默认交互,例如,一个精简描述就可以了,不希望再提示详细描述,那么就可以使用 cz-customizable 来进行定制。...这里就不一一演示每个字段修改之后情况了,根据字段说明,建议如果想自定义提交规则,本地进行修改验证,公司内部代码库不需要管理 issue,另外,不喜欢长描述,所以我把 body 和 footer...,一个代码库中,经常出现2个空格/4个空格混用,有些地方 ;,有些不 ;,风格不统一。

2.5K30

Junit单元测试教程_单元测试调试react源码

三、黑盒测试与白盒测试 3.1 黑盒测试 黑盒测试又称功能测试。它通过测试来检验程序是否能正常使用。测试过程中,我们把程序看作为一个打不开盒子,黑黑什么也看不见,内部代码怎么也不知道。...上一步骤为什么需要把测试数据注释掉呢? 答案来了,的确很麻烦,至于为什么注释掉,那是因为我们项目代码时候,需要测试,不可能在同一个测试测试这么多数据。...如果我们需要一个预期值呢?那么测试结果不是想要预期值,而程序还是绿色,证明程序没有问题怎么办呢?...有些聪明小伙伴会说,我们可以把它提到类里面与方法同级。对,这个处理方式也是一个正解。 但是我们Junit单元测试中,一个@Before注解,是用作资源申请。...这时,我们Junit单元测试中,一个@After注解,是用作资源关闭。也就是说被@After注解修饰方法会在测试方法之后自定执行。

68520

【快学springboot】springboot中单元测试

前言 很多公司都有单元测试硬性要求,提交代码时候,如果单测通不过或者说单元测试各种覆盖率不达标,会被拒绝合并代码单元测试,也是保证代码质量一种方式。...spring依赖问题 现在Java开发,基本上离不开spring了。但是使用spring,单测时候就会存在一个依赖注入问题。...运行报错: image.png springboot单元测试 springboot中,解决spring依赖问题,非常简单。...我们单元测试时候,直接继承这个类即可。...单元测试事务回滚 单元测试,难免需要操作数据库。有时候单元测试数据库跟开发时候数据库是同一个,为了不影响数据库数据,需要在单测完成之后,将操作回滚。

1.4K10

IDEA使用总结

资源国际化时候就发现了这个问题了。...还有个便捷查看值方法:ALT+鼠标左键即可看到具体值 这里图片描述 Intellij idea使用Junit 之前使用idea做Junit测试时候,都是一个一个方法来写,然后方法名@Test这样测试...后来发现eclipse直接把整个类方法都可以抽取出来,自动生成Junit测试方法…于是找Idea下有没有类似的功能…....这里图片描述 解决:项目中直接把对象encoding.xml配置文件删除了就行了 这里图片描述 使用Idea更新数据库表数据 我们在做案例时候,经常需要改变数据表中数据来进行简单测试。...网上教程很多,但是不是所有的教程都能成功… 就只IDEA上使用Git就用了一个多小时了…哎呀。。。

96071
领券