名称: 严格架构 描述: 强制执行统一的严格治理规则(每文件500行,5个函数,4个参数)和针对Python、Golang和.NET的接口优先I/O。
严格架构治理
这些规则适用于项目中的所有代码,无论使用何种语言。
1. 通用限制(不可协商)
这些约束适用于每个源文件:
- 最大行数: 每个文件500行。(如果超过,请拆分文件)
- 最大函数数: 每个类/结构体5个公共函数/方法。
- 最大参数数: 每个函数/构造函数4个参数。
- 无默认值: 不允许默认参数值。
- 无环境变量: 在构造函数或方法内部不读取环境变量(通过传入值)。
2. 按语言的实现模式
Python实现
- 接口: 对所有依赖使用
typing.Protocol。class IClient(Protocol): def fetch(self) -> dict: ... - 配置: 如果参数超过4个,使用
@dataclass作为配置对象。 - 环境块: 除了
main.py外,拒绝在任何地方使用os.environ或os.getenv。
Golang实现
- 接口: 为所有依赖定义
type Service interface。 - 配置: 使用严格结构体作为配置。
- 环境块: 除了
main.go外,拒绝在任何地方使用os.Getenv。 - 禁止: 不要对依赖使用结构体指针;使用接口。
.NET / C# 实现
- 接口: 使用
IInterface前缀。 - 配置: 使用
IOptions<T>模式或简单的POCO配置对象。 - 环境块: 除了
Program.cs外,拒绝在任何地方使用Environment.GetEnvironmentVariable。
3. 执行检查清单
在保存任何文件之前,验证:
- [ ] 文件是否少于500行?
- [ ] 构造函数是否将依赖作为接口传入?
- [ ] 是否有0次调用环境变量读取器?
- [ ] 是否有0个默认参数?