GToolkit (Gtk) 是一个针对 mw 开发环境的快捷工具集,它包含了一组高复用性的展开。
v36.2.14
by LviatYi
by minjia.zhang
by zewei.zhang
by yuanming.hu
Gtk 高度依赖 mw 库,并随着编辑器版本进行更新,不保证向后兼容。
本文档描述约定时将采用 RFC2119 协议规范。将采用如下词汇描述规范条目的重要程度:
词汇 | 含义 |
---|---|
必须 MUST | 规范的绝对要求 |
禁止 MUST NOT | 规范的绝对禁止 |
推荐 RECOMMENDED | 可能存在正当理由以忽略条目,但必须权衡利害 |
不推荐 NOT RECOMMENDED | 可能存在正当理由以忽略条目,但必须权衡利害 |
可以 MAY | 某些场合下可以选用条目 |
快速安装:
npm install gtoolkit --save-prefix='~'
Gtk 并不遵循 semver
规范。但其版本号仍具有语义性。
版本号 必须 采用以下规范:
EngineMainVersion.MainVersion.SubVersion[a|b]?
-
EngineMainVersion
MW 引擎依赖主版本号.- Gtk 针对 MW 引擎的版本号进行更新,该级别不向后兼容。
- MW 引擎的主版本号一般是一个 3 位十进制数字,不足 3 位则使用 0 以补充。
-
MainVersion
主版本号- 主版本号,该级别可能会引入不兼容的变化,不向后兼容。
-
SubVersion
子版本号- 子版本号,该级别进行增量更新或功能更新,不会改动已有的函数签名与 TsDoc 描述的预期功能,向后兼容。
-
[a|b]?
可选后缀-
a
表示 alpha 版本,该版本可能会引入不稳定的功能,新增项目随时面临更新或删除。 -
b
表示 beta 版本,该版本可能会引入不稳定的功能,新增项目可能面临更新或删除;如若更新,不会轻易改动函数签名。
-
如 027.0.1b
。
Gtk 的功能发布、更新或删除将遵循一些原则,其旨在保证 Gtk 的稳定性、可靠性与复用性,同时允许使用者快速展开想实现的功能,从而使 Gtk 在项目内、项目间具有更长久的生命周期。
以下原则由 Gtk Standards Committee (G.S.C. Gtk 标准委员会) 制定并监督。
满足以下要求的代码片段,将被 Gtk 工具集收录:
-
必须 是一段 有意义的 代码段,这个代码段可以在不同项目的场合中展开复用。
- 有意义的 指这段代码能够解决某类问题、实现某种功能或达成某种规范。
- 禁止 其形参列表中任何一项,依赖于特定项目的特定业务。
- 禁止 依赖第三方库。
-
禁止 使用 import 语句声明类型别名。
如import Vector = mw.Vector
。 - 必须 为函数签名及返回值类型声明类型。
- 如依赖游戏编程中的常见类型(向量 四元数等),推荐 优先使用 MW 提供的类型,其次应选择作为
interface
。
当达成以下条件,将更新一个功能,但不更新函数签名:
- 该功能因 MW 引擎更新而更新。
- MW 引擎更新或删除了一个接口,但存在一个替代方案,允许使用 同签名 进行 等价 的功能实现。
当达成以下条件,将更新一个功能,且可能更新函数签名:
- 该功能因 MW 引擎更新而更新。
- MW 引擎更新或删除了一个接口,但不存在一个替代方案,允许使用 同签名 进行 等价 的功能实现。
当达成以下条件,将删除一个功能:
- 该功能因 MW 引擎更新而废弃。
- MW 引擎删除了一个接口,且未提供替代方案以进行 等价 的功能实现。