节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
2.35 KiB
Stardust
# 变更原则 审查和提交都按这一份。一条改动只解决一个问题,能放进同一问题的文件才进同一个提交。 ## 1. 一个问题一次改动 - 一个提交只做一件事。版本回填、敏感字段裁剪、路由修复,分开提交。 - 同一问题在多个控制器上的同一写法,可以放在一个提交里。 - 一个文件里塞了两件无关的事,就拆开再提交。拆不开就整文件留在工作区,并写明原因。 - 测试和它锁住的行为放在同一个提交。不提交没有被测代码的测试,也不提交会把现有测试打红的半截改动。 ## 2. 影响面要小 - 只改完成这件事所必需的文件。不顺手格式化、不顺手改无关命名、不把换行差异卷进提交。 - 不在启动路径上对全表做写操作,除非问题本身就是这一次修复,并且写操作有范围、可重入、有测试。 - 公共基类(例如 `WebEntityController`)只在根因就在基类时才改,并带上回归测试。 - 不改 `.env`、`appsettings.Production.json`。本机 `appsettings.json` 里的连接串、口令、日志级别不进提交。 - 不提交 `bin_rc/`、`tmp*`、转储、证据目录、本机绝对路径。 ## 3. 不做多余设计 - 沿用现有分层:XCode 实体 → Service → Controller。不为一次调用新造框架、泛型助手或反射管道。 - 已有写法能解决问题就复用(例如证书裁剪用克隆后置空,不改共享缓存实例)。 - 不提前做「以后也许用得上」的配置、开关和抽象。 - 注释只写约束和根因,不写流水账。 ## 4. 数据与安全 - 生产库和远程库只读。连接串含 MySql、SqlServer、PostgreSql、Oracle 或 `Tcp://` 时停止。 - 列表、详情、新增、更新、删除的响应不得回显 Secret、Token、Password、AppKey、WebHook、Pfx 密码。裁剪在出参副本上做。 - 不在日志、提交说明和测试名里粘贴密钥或完整连接串。 ## 5. 提交前看什么 - `git diff` 里每一行都能指回这一个问题。 - 编译能过,或者明确写出没跑的原因(文件锁、会撞上正在跑的进程)。 - 全量 `Stardust.ServerTests` 不作为默认门禁。只跑这个提交对应的过滤测试。 - 提交说明用一行说清问题,例如 `fix(webapi): 列表响应不再回显密钥`。不推送,除非另行要求。