PHP 项目"板凳深度"评级打分方案
"板凳深度"原指体育队伍替补实力,用在 PHP 项目中指团队替补能力、代码可维护性、知识分布度、抗风险能力,下面给出一套可落地的评级打分体系。

评分维度设计(总分 100 分)
| 维度 | 权重 | 考察点 |
|---|---|---|
| 人员梯队 | 25 | 核心开发者数量、替补开发者、单点依赖 |
| 代码可维护性 | 25 | 代码规范、注释、模块化、复杂度 |
| 知识分布 | 20 | 文档完备度、知识集中度、交接可行性 |
| 工程基建 | 15 | 测试覆盖、CI/CD、自动化部署 |
| 技术债与风险 | 15 | 依赖陈旧度、遗留代码、安全漏洞 |
各维度细化打分(PHP 特化)
人员梯队(25 分)
- 核心开发者 ≥ 3 人且职责交叉 +8
- 有明确 Backup 人员名单 +6
- 新人 onboarding 有导师制 +5
- 关键模块非"一人负责" +6
PHP 特化点:是否只有 1 人懂某个老旧框架(如 ThinkPHP 3.2、Yii1)?是否只有 1 人会部署?
代码可维护性(25 分)
- 遵循 PSR-12 / PSR-4 规范 +6
- Composer 依赖管理规范(无 vendor 入库)+5
- 分层清晰(Controller/Service/Repository)+6
- 圈复杂度、重复率达标(可用 PHPStan/PHPMD)+4
- 无大量超长函数/文件 +4
工具化检查:
phpstan analyse --level=8 phpmd app text cleancode,codesize phpcs --standard=PSR12 app/
知识分布(20 分)
- README / 架构文档 / 部署文档齐全 +6
- 关键业务有流程图/时序图 +5
- 有 API 文档(Swagger/OpenAPI) +4
- 无"口口相传"型隐性知识 +5
自检提问:核心开发者请假两周,项目能否继续迭代?
工程基建(15 分)
- 单测覆盖率 ≥ 60% +5
- CI 流水线(lint + test + build) +4
- 自动化部署(Docker/Ansible) +3
- 有灰度/回滚机制 +3
技术债与风险(15 分)
- PHP 版本受官方支持(8.1+) +4
- 无高危安全漏洞(composer audit) +4
- 无 EOL 依赖(如旧版 Laravel/Symfony)+4
- 无大量 @todo / 注释掉的死代码 +3
composer audit composer outdated --direct
评级标准
| 总分 | 等级 | 含义 |
|---|---|---|
| 90–100 | S 级(豪华替补席) | 任何人离职不影响交付 |
| 75–89 | A 级(健康梯队) | 有备份,短期风险可控 |
| 60–74 | B 级(勉强够用) | 存在单点,需要补强 |
| 40–59 | C 级(板凳薄弱) | 关键人一走就崩 |
| < 40 | D 级(无替补) | 项目处于高风险状态 |
"单点依赖"一票否决项
出现以下任一情况,最高只能评 B 级(即使总分高):
- 只有 1 人能部署上线
- 只有 1 人掌握核心业务逻辑
- 无任何文档,全靠"老人"记忆
- 测试覆盖率 < 20% 且无 CI
快速自评表(可直接用)
$score = [
'team_backup' => 0, // /25
'maintainability' => 0, // /25
'knowledge_spread' => 0, // /20
'engineering' => 0, // /15
'tech_debt' => 0, // /15
];
$total = array_sum($score);
$grade = match(true) {
$total >= 90 => 'S',
$total >= 75 => 'A',
$total >= 60 => 'B',
$total >= 40 => 'C',
default => 'D',
};
建议的落地方式
- 季度评估:每季度用此表打分,跟踪趋势
- 结合工具:PHPStan、PHPUnit、composer audit 提供客观数据
- 重点补短板:C/D 级项目优先补人员备份和文档
- 建立"巴士系数"指标:项目至少 2 人能独立维护才算及格
如果你告诉我团队人数、框架版本、是否有测试和 CI,我可以直接帮你跑一遍打分,给出具体等级和改进优先级。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播