它有一个 linter https://dart.dev/tools/linter-rules/unlated_type_equality_checks 但它只是显示一个警告,使其对于大型项目几乎毫无用处。
如何将警告转化为错误?
示例:
void giveAccessToEverything() {
/// nuclear codes
}
void main () {
final isAdmin = "isAdmin"; // Database guy Changed to enum
if (isAdmin != true) {
return;
}
giveAccessToEverything();
}
在
analysis_options.yaml
中,我们实际上可以强制执行任何 linter 规则。恕我直言,我认为这尤其应该是一个 Dart
内置编译器错误。
analyzer:
errors:
unrelated_type_equality_checks: error
linter:
rules:
unrelated_type_equality_checks: true
我不知道为什么我们必须手动启用它,除了允许像你的核代码这样的错误。还没有见过比较两个不相关类型有用的用例。