- 代码中:
$开头的为着“无副作用函数”,主要有两类:$+小写:为无副作用函数(需要在 jsdoc 中声明@inline)$+大写:为 TypeScript 类型定义与推断
- 代码中:
纯大写+下划线通常为“零成本抽象”定义,目前只有一类:const enum
使用 Edit-Commit-Message 插件来辅助生成规范性的提交日志。
该规范有两个非常重要的概念:“动作概述”、“类目”。
其中“动作概述”包括了最常见的几个种类:
- 代码相关·常用
- ✨ 新增内容 add-feature
- 🐛 问题修复 fix-bug
- ⚡️ 性能改进 performance
- 🪄 重构 refactor
- 👽️ 外部变更做出的适应 env-changes
- 代码相关·少用
- 🎨 统一风格 format-style
- 🚚 迁移 move/rename
- 🔥 删减 remove-code
- 🚑︎ 补充提交 hotfix
- ⏪️ 回滚提交 revert-changes
- 代码相关·很少用
- 🧪 实验 experiment
- 🔒️ 安全相关的问题 security-issues
- 🤡 模拟 mock-things
- 依赖管理
- 🔼 依赖升级 upgrade
- 🔽 依赖降级 downgrade
- ➕ 依赖增加 add-dependencies
- ➖ 依赖删减 remove-dependencies
- 最好别用的
- 🫧 无概述 none
- 💩 写了一坨屎,难以描述 bad-code
- ♾️ 大杂烩/缝合怪 mix
可以很简单地看出来,总共其实是分成两大类:“代码相关”与“依赖管理”。至于“最好别用的”,极少场景会用到,但总会用到。
其中代码相关分成三档:“常用”、“少用”、“很少用”。它们所描述的内容也越发精细。请尽可能使用精细的动作来概述内容。 比如说“🪄 重构 refactor”意味着对代码进行一定的重写,如果只是重命名,那么请选择“🚚 迁移 move/rename”,如果内容不仅仅包含重命名,还包含了一些“🎨 统一风格 format-style”以及“逻辑的调整”,并且这些变更没必要分成多个 commit,那么才会选择使用“🪄 重构 refactor”这个更加宽泛的概述。
其中“类目”包括了常见的文件类型:
- 🏢 业务施工 main-working
- 业务施工·相关
- 🧊 模块 module
- 💄 样式 style
- 📄 组件 component
- 🍱 资源 assets
- 🪖 路由守卫 route-guard
- 🔄 路由加载 route-resolve
- 🏭 服务 service
- ✅ 测试 test
- 🔧 工具 tools
- 📝 文档 doc
- 🔖 新版本 new-version
- 📄 其它 others
其中“业务施工”是一个非常特殊的类目,通常是指直接的业务开发,包括 Angular 的 component/service/pipe 等等模块的的逻辑直接开发。
然后是“业务施工·相关”,涵盖了常用的 Angular 项目相关的文件,它们都是服务于“业务施工”的模块。
其余的关于“工具”、“文档”、“新版本”、“其它”,是“业务施工”更外一圈的东西。
我们以一些常用的场景来解释它们的组合。
- 比如说我创建了一个新的 page,那么这时候会提交大量文件:
module.ts/component.ts/scss.ts/resolver.ts/pipe.ts/service.ts/cy.ts/stories.ts。这时候选择“✨🏢”即可。意味着“增加了新的业务”
- 接着我们对这个页面进行了样式进行了补充。
这时候选择“✨💄”。意味着“新增了样式”
- 然后提交了 pr 之后:
- 代码存在的规范性问题。比如在 css 中写了
@apply,需要搬迁到 html 的 clss 中去这时候选择“🎨💄”。意味着“根据规范调整了样式写法”
- component 的代码实现不够优美。找到更好的实现方案:
这时候选择“🪄🏢”。意味着“重写了业务逻辑”
- 找到一些 BUG:
这时候选择“🐛🏢”。意味着“修复了业务逻辑的 BUG”
- 有一些代码需要改写成
Angular/resolve:这时候选择“🚚🔄”。意味着“迁移代码成路由守卫”。
- 代码存在的规范性问题。比如在 css 中写了
- 然后产品看到结果不满意,找了设计,再改动了样式,最终我们对照新版设计稿做出调整
这时候选择“👽️💄”。意味着“新增了样式”