Game_Num_Basics_And_Calc

🐙 Git 版本管理与 Commit Log 规范 (Git Standards)

核心理念: Commit Log 是写给人看的,不是写给机器看的。 一个好的 Commit Log 应该能回答三个问题:

  1. 改了什么? (What)
  2. 为什么改? (Why)
  3. 怎么改的? (How - 可选,如果是复杂逻辑)

1. Commit Message 格式规范

采用业界标准的 Angular Commit Convention,结构如下:

<type>(<scope>): <subject>

<body>

<footer>

1.1 Type (必填)

用一个词描述改动的性质:

1.2 Scope (选填)

用括号说明影响的范围 (模块/功能):

1.3 Subject (必填)

简短的描述,不超过 50 个字符。

1.4 Body (选填,但推荐)

详细描述。

2. 📝 标准 Commit Log Demo (抄作业区)

请团队成员直接复制以下模板修改。

场景 A: 修复了一个 Bug

fix(Combat): 修复箭塔攻速过快导致伤害丢失的问题

原因: 
之前的攻击冷却计时器使用 Time.deltaTime 累加,在低帧率下会有浮点误差。

修改:
改用 Time.time 时间戳进行冷却判定。

Closes #405

场景 B: 开发了一个新功能

feat(Roguelike): 新增天赋 "火焰精通"

效果:
所有造成物理伤害的防御塔,现在有 30% 概率附加点燃效果。

技术细节:
1. 在 DamageCalculator 中新增了 ElementCheck 逻辑。
2. 新增了 Buff_Ignite 脚本。

场景 C: 提交美术资源

art(Enemy): 提交 Level 3 精英怪 "石头人" 资源

包含:
1. 模型: Golem_L3.fbx (带 LOD)
2. 贴图: T_Golem_D/N/M_01.png (ASTC 压缩)
3. 动画: Anim_Golem_Walk/Attack/Die

注意:
材质球使用了新的 Toon Shader,请程序确认是否支持 GPU Instancing。

场景 D: 性能优化

perf(Pathfinding): 优化大量单位寻路时的 CPU 占用

之前使用 NavMeshAgent.SetDestination 每帧调用,导致主线程卡顿。
现在改为每 10 帧 (0.2s) 更新一次路径,并启用了 Job System 进行距离计算。

性能提升:
同屏 500 单位时,Update 耗时从 8ms 降至 1.5ms。

3. 分支管理策略 (Branching Strategy)

3.1 分支命名

3.2 工作流 (Workflow)

  1. 接到任务 “开发登录系统”。
  2. 基于 develop 切出 feat/login
  3. 开发… 提交… (多次 Commit)。
  4. 开发完毕,推送到远程。
  5. 发起 Pull Request (PR) 合入 develop
  6. Code Review: 同事检查代码,确认无误后 Approve。
  7. 合并。

4. 工具强制约束 (Enforcement)

为了防止人为偷懒,建议部署 Git Hooks

4.1 commit-msg Hook

.git/hooks/commit-msg 中添加脚本,使用正则表达式检查 Commit Message 格式。如果不符合 <type>(<scope>): <subject> 格式,直接拒绝提交。

4.2 pre-commit Hook

在提交前自动运行:


最后通牒: “Update”, “Fix bug”, “Backup”, “…” 这种 Commit Message 一经发现,请请全组喝奶茶


📚 扩展阅读与参考标准 (References)

🌍 行业标准

🔧 自动化工具

📖 深度文章