---
title: 评分方法
summary: 介绍小程序体验评分的计算公式、权重分配及各规则的评分方法。
questions:
  - 体验评分的总分是如何计算的？
  - 性能类规则有哪些权重分配？
  - 权重为 0 的规则有什么作用？
  - 未命中的规则是否参与评分？
  - 哪些性能规则的权重最高？
  - 多语言使用在体验类中的权重是多少？
  - 规则的得分条件会随版本更新调整吗？
---

# 评分方法

目前体验评分暂定共有`23`条规则，共分为三类：`性能`、`体验`、`最佳实践`，满足规则要求得分（`100分`），否则不得分（`0分`），最后根据各规则权重和公式计算出总得分。

## 公式的具体计算步骤

1. 将每项的得分乘以其对应的权重。
2. 将所有乘积加起来，得到加权得分的总和。
3. 将所有权重加起来，得到权重的总和。
4. 将加权得分的总和除以权重的总和，得到加权平均分。

用数据表达式表示就是：

```math
\text{总分} = \frac{\sum_{i=1}^{n} \text{得分}_i \cdot \text{权重}_i}{\sum_{i=1}^{n} \text{权重}_i}
```

### 注意事项

> 权重为 0 的规则，表示该规则不参与评分，仅作为提示项。
> 在检测流程中未命中的规则，该规则不会参与评分。
> 各规则的得分条件也可能会随`IDE`的版本更新可能有一定的调整，建议使用最新版本。

## 权重如下表

### 性能

| 规则                        | 权重 |
| --------------------------- | ---- |
| `FMP`（首次有意义渲染时间） | 10   |
| 渲染耗时                    | 3    |
| 当前页面最低帧率            | 5    |
| 脚本执行时间                | 5    |
| `setData` 调用频率          | 6    |
| `setData` 数据大小          | 8    |
| `TYML` 节点数               | 6    |
| 网络请求耗时                | 7    |
| 网络并发请求数              | 5    |
| 图片请求数                  | 5    |
| 图片大小检测                | 4    |
| 小程序包大小检测            | 8    |
| `TTT` 交互频次              | 8    |

### 体验

| 规则                    | 权重 |
| ----------------------- | ---- |
| 是否使用 `APP` 主题变量 | 5    |
| 是否适配暗黑模式        | 5    |
| 多语言使用              | 10   |
| 可点击元素的响应区域    | 6    |
| 安全区域兼容            | 5    |

### 最佳实践

| 规则              | 权重 |
| ----------------- | ---- |
| `JS` 异常检测     | 8    |
| 使用 `HTTPS`      | 1    |
| 包内图片检测      | 3    |
| 图片域名合规性    | 1    |
| `DP` 上报次数检测 | 1    |

### 规则说明

详细的规则说明可参考下列文档：

- [性能](/cn/miniapp/devtools/tools/extension/audit/performance)
- [体验](/cn/miniapp/devtools/tools/extension/audit/experience)
- [最佳实践](/cn/miniapp/devtools/tools/extension/audit/best-practice)
