粒度电梯 | 底层完整支持 8 级,具体项目自动选最有意义的 5 级

固定死"恰好五层"会很别扭:底层库项目的第一层不该是 Application,平台级项目的最后一层也不该是 Function。正确做法是——底层完整支持 A0–A7 八级,每个项目把一个五层的窗口停在最有意义的位置,窗口外的层不是不存在,而是折叠进详情、不铺在主视图上。

1把窗口停在哪一层 (换项目类型看窗口怎么移动)

项目类型预设
主视图
5 层

2不强迫按 Python 语法层级 (Level 与 Type 分离)

真正的软件工程里 Function → Class → Library 并不是严格父子:function 可以属于 class 成为 method、可以属于 module、也可以独立存在;library 可能由几十个 module 组成;application 也可能直接包含内部 module。所以不要写死"Function 必须属于 Class",而是每一级允许不同 TYPE——这样以后不只是 Python,JavaScript、Three.js、Unreal、AI Agent、Prompt、工作流甚至非代码项目都能套进来。

层级Python / 后端Web 前端 · Three.jsUnreal / 游戏AI Agent / Prompt非代码项目

↑ 表内各列 TYPE 为示意映射(把"允许不同 type"这条规则落到常见技术栈上的举例),不是文档原文逐字规定;灰掉的行表示该层在这个栈里通常不单独出现。

3Function 的两种身份 (技术最小 ≠ 管理最小)

Function 可以作为最小技术单位,但不该是最小项目管理单位。规则:所有 Function 都可以被登记,但只有达到"需要独立计划 / 独立验收"的 Function,才升级成 Managed Work Item

▲ 升级为 Managed Work Item(进甘特)

    ▼ 只登记为 Artifact,不进甘特

      # 反例:这个函数不需要拥有甘特图 / 负责人 / 风险 / 里程碑 / 进度 def clamp(value, low, high): ... # → 登记为 Artifact(A0,可被 used_by 引用),但 managed = false # 正例:这个能力要排期、要独立验收、下个项目要复用 class FireAbility: # ART-INT-WPN-FIRE(A1) def can_fire(...) # A0,随上层一起验收 def fire(...) # A0 def consume_ammo(...) # A0 # → managed = true:有 5 个 Task、有黄金场景验收、有 v1.4 版本号

      4整份架构一张脑图

      默认展 2 层;工具条上的绿树按钮可一次展开全部层级,嵌入区约半屏,点「⛶ 全屏」放大看。