最近在看 conventional commits ,里面说到了 refactor: 用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑; 我才发现修改方法内部逻辑是不算重构的,比如一个 a 方法,修改了里面的行为逻辑、数据结构、算法这些都不能算重构。之前我修改内部逻辑提交日志都是写“重构了 a 方法或者 a 模块”,还有 v 友们最典型的“又重构了一坨屎山”,很多情况下应该都是错误的说法,只不过好像大家都习惯了。 挺纠结是按照老习惯还是约定规范了= =
feat: 新功能( feature )、新特性 fix: 修复 bug docs: 文档( documentation ),仅修改了文档,比如 README,LICENSE, CHANGELOG, CONTRIBUTE 等 style: 格式(不影响代码运行的变动,注意不是 css 修改)仅修改了空格、格式缩进、逗号等等,不改变代码逻辑 refactor:代码重构(即不是新增功能,也不是修改 bug 的代码变动) perf: 优化相关,比如提升性能、体验(在不影响代码内部行为的前提下,对程序性能进行优化) test: 测试用例的新增、修改,包括单元测试、集成测试等 revert: 回滚到上一个版本 build: 影响项目构建或依赖项修改 ci: 持续集成相关文件修改(构建过程或辅助工具的变动,改变构建流程) release: 发布新版本 workflow: 工作流相关文件修改 chore: 其他修改(不在上述类型中的修改)例如:增加依赖库、工具等
改逻辑,改算法,只要最终代码行为和之前一样,就算重构。 重构屎山,如果产品行为基本不变,当然也算重构。哪怕内部某些函数的行为大改。只要在更高层次来看,产品行为一致就可以。 函数改名这种反而是最低级重构。属于术之末端。说不好听点,如果这就是你学习的结果我觉得你还不如不学。