project-manager-language-compiler
说明
这是一门用来快速计算项目排期的 DSL,特点是语法简单、计算高效,最终输出为 Markdown 表格格式。
使用帮助
1. 新建文件
新建一个 pml 文件,pml 的全称是 Project Manager Language,Compiler 会读取文件并计算排期。
2. 语法介绍
PML DSL 主要包含两个部分,其一是人员声明,其二是需求排期。
2.1 人员声明
首先需要声明各平台有哪些工作人员,这里是支持中文的,且不需要引号:
Staffs {
iOS {
@人员A
@PersonB
}
Android {
@PersonC
}
JavaScript {
@PersonC
}
}
2.2 需求声明
一个需求包含名称、优先级、备注和分工四个部分:
// 支持双划线的行注释,注意不支持尾注释
Requirement "需求名称" {
// 优先级,从 0 开始的数字,默认 0 为最大
Priority 0
// 备注,在输出中会高亮显示,可省略
Comment "备注"
Assign {
// 同一个人员可以声明多次,都会累加,例如人员 A 既负责 A 模块又负责 B 模块
iOS.人员A = 5
iOS.人员A = 2.5
Android.PersonC = 5
}
}
2.3 完整示例
Staffs {
iOS {
@人员A
@PersonB
}
Android {
@PersonC
}
JavaScript {
@PersonC
}
}
Requirement "需求名称" {
// 优先级,从 0 开始的数字,默认 0 为最大
Priority 0
// 备注,在输出中会高亮显示,可省略
Comment "备注"
Assign {
// 同一个人员可以声明多次,都会累加,例如人员 A 既负责 A 模块又负责 B 模块
iOS.人员A = 5
iOS.人员A = 2.5
Android.PersonC = 5
}
}
3. 执行 Compiler 输出结果
首先确保自己的 Tab 选中了待编译的 pml 文件,随后用 Command + P
(Windows 应该为 Ctrl + P
) 打开命令窗口,输入 > Compile Current PML File
,在输入时应该有智能提示。
随后编译和计算结果会在新打开的 Tab 中显示:
# ================== P0 ==================
## 需求到人:
需求名称(<span style="color: red">备注</span>)(12.5 day(s)): @人员A: 7.5 day(s), @PersonC: 5 day(s)
## 排期:
| 平台 | @人员A | @PersonB | @PersonC | 共计 |
| -------- | -------- | -------- | -------- | -------- |
| iOS | 7.5 | 0.0 | 0.0 | 7.5 |
| Android | 0.0 | 0.0 | 5.0 | 5.0 |
| JavaScript | 0.0 | 0.0 | 0.0 | 0.0 |
| 共计 | 7.5 | 0 | 5 | 12.5 |
Troubleshooting
- 执行命令报错
可能 vscode engine 的版本太旧了,目前对 vscode 的版本要求为 1.23.0 <= version < 2.0.0