删除某些内容时的语义提交类型

Dmi*_*nov 6 commit git-commit

什么语义提交类型是更好地使用,当我删除功能:featrefactor或其他什么东西?

Fer*_*ndo 21

添加或删除功能时使用feat 。

根据维基百科的说法,“代码重构是在不改变其外部行为的情况下重组现有计算机代码的过程”。

如果删除某个功能,则会更改代码行为,因此它无法重构。


jk2*_*k2K 15

你应该使用refactor

  • 壮举:向代码库引入新功能
  • 修复:修补代码库中的错误
  • 重构:既不修复错误也不添加功能的代码更改

你可以参考angular/CONTRIBUTING Commit Message Guidelines

  • 如果refactor意味着重构,那么使用它就错了。重构意味着[在不修改现有功能的情况下改进代码](https://www.sciencedirect.com/topics/computer-science/refactoring)。 (10认同)
  • 重构适用于_不会在功能集中引入任何更改_的更改。或者系统行为。它被写为“添加一个功能”,但代码不必严格比以前有更多的字节。从产品负责人的角度来看,有时删除一些东西,甚至是(旧的?)功能,也是一种(新)功能。业务随着时间而变化,功能也随之变化。3年前,我添加了“处理到俄罗斯的SWIFT转账”。这是一个新功能。最近我删除了这段代码,因为“忽略 SWIFT 转账到俄罗斯”是新的得分最高的要求。删除代码结果增加了系统的一个功能。 (5认同)
  • 这是正确的答案:/sf/answers/5176126581/ (2认同)

wea*_*ish 8

根据定义,它是refactor,因为:

重构:既不修复错误也不添加功能的代码更改

删除功能当然是代码更改,它既不修复错误也不添加功能。

然而,人们通常有一个假设,即重构往往不会引入破坏性变化。删除一个特性往往会破坏 API,因为从 API 中删除了一个特性,这会破坏依赖于该特性的所有现有系统。

其他类型呢?特征本身的缺失可以被认为是特征。例如,如果有人不喜欢密码登录的想法(每次登录都输入密码很烦人),那么他们可能会认为没有密码登录的功能是一个功能。因此,删除一个特征可以被认为是添加一个新特征。同时,如果一个特性本身的缺失可以被认为是一个特性,那么该特性的存在就可以被认为是一个错误。所以删除一个特性可以被认为是修复一个错误。因此删除一个特征既是featfix

或者,我们可以假装问题不存在。一个设计良好的库不应该有不需要的功能。并且由于其他库和应用程序可能依赖于此功能,因此永远不应删除这些功能。但是这个理想的原则并不适用于每个图书馆。

所以我的建议是给这种类型的提交一个新名称。

  • 你的答案以一个不正确的陈述开始,然后是一个很长的解释为什么它不正确,但我认为大多数来到这里的人只会阅读第一行...... (2认同)

Mat*_*haq 5

感叹号可用于表示重大更改。删除某个功能是一项重大更改。因此,有refactor!

refactor!: a BREAKING CHANGE that neither fixes a bug nor adds a feature
Run Code Online (Sandbox Code Playgroud)