flutter / flutter/devtools

`dcm check-unused-code` false positives

未关闭
#9,907 6 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
a: quality cost: low P2
主要语言
Dart
星标
1.7k
派生
404
平均合并
6 天 17 小时
30 天内合并 PR
18

描述

Command: `dcm check-unused-code packages/devtools_app/ --exclude-public-api`

False positives (one common theme I see here is that anything used in `assert` statements is falsely determined "unused"):
```
packages/devtools_app/test/test_infra/utils/extent_delegate_utils.dart (1 issue):
✖ unused field _renderObjectInitialized
at packages/devtools_app/test/test_infra/utils/extent_delegate_utils.dart:19:3

packages/devtools_app/lib/src/extensions/embedded/_controller_web.dart (1 issue):
✖ unused field _initialized
at packages/devtools_app/lib/src/extensions/embedded/_controller_web.dart:81:3

packages/devtools_app/lib/src/framework/home_screen.dart (2 issues):
✖ unused method _debugInitVmServiceCache
at packages/devtools_app/lib/src/framework/home_screen.dart:174:3

packages/devtools_app/lib/src/app.dart (2 issues):
✖ unused class _AlternateCheckedModeBanner
at packages/devtools_app/lib/src/app.dart:616:1
✖ unused constructor _AlternateCheckedModeBanner
at packages/devtools_app/lib/src/app.dart:622:3

packages/devtools_app/lib/src/screens/performance/panes/timeline_events/perfetto/_perfetto_controller_web.dart (1 issue):
✖ unused field _initialized
at packages/devtools_app/lib/src/screens/performance/panes/timeline_events/perfetto/_perfetto_controller_web.dart:162:3
```

I will add more false positives to this list as I find them (working through different directories https://github.com/flutter/devtools/issues/9906).

@incendial

贡献指南

打开贡献指南

调研方向

首先运行 `dcm check-unused-code packages/devtools_app/ --exclude-public-api`,并检查报告的 Dart 文件,包括 `extent_delegate_utils.dart`、`_controller_web.dart`、`home_screen.dart`、`app.dart` 和 `_perfetto_controller_web.dart`。通过它们在 assert 中的使用情况,追踪列出的字段、方法和类,然后确认真正的使用不再被报告,而实际未使用的代码仍会被报告。

由索引模型根据 Issue 内容生成。

评估

技术栈
dart
领域
tooling
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
52/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。