unrelated_type_equality_checks
関連性のない型の参照を使用した等価演算子 ==
の呼び出し。
このルールは Dart 2.0 から利用可能です。
ルールセット: core、recommended、flutter
詳細
#非推奨 関連性のない型の参照を等価性で比較しないでください。
どちらも互いのサブタイプではない型の参照を比較すると、ほとんどの場合 false
が返され、プログラマーの意図が反映されない可能性があります。
package:fixnum
の Int64
および Int32
は、int
が右側にある場合に int
との比較を許可します。このリンターは、これを特別なケースとして許可します。
非推奨
dart
void someFunction() {
var x = '1';
if (x == 1) print('someFunction'); // LINT
}
非推奨
dart
void someFunction1() {
String x = '1';
if (x == 1) print('someFunction1'); // LINT
}
非推奨
dart
void someFunction13(DerivedClass2 instance) {
var other = DerivedClass3();
if (other == instance) print('someFunction13'); // LINT
}
class ClassBase {}
class DerivedClass1 extends ClassBase {}
abstract class Mixin {}
class DerivedClass2 extends ClassBase with Mixin {}
class DerivedClass3 extends ClassBase implements Mixin {}
推奨
dart
void someFunction2() {
var x = '1';
var y = '2';
if (x == y) print(someFunction2); // OK
}
推奨
dart
void someFunction3() {
for (var i = 0; i < 10; i++) {
if (i == 0) print(someFunction3); // OK
}
}
推奨
dart
void someFunction4() {
var x = '1';
if (x == null) print(someFunction4); // OK
}
推奨
dart
void someFunction7() {
List someList;
if (someList.length == 0) print('someFunction7'); // OK
}
推奨
dart
void someFunction8(ClassBase instance) {
DerivedClass1 other;
if (other == instance) print('someFunction8'); // OK
}
推奨
dart
void someFunction10(unknown) {
var what = unknown - 1;
for (var index = 0; index < unknown; index++) {
if (what == index) print('someFunction10'); // OK
}
}
推奨
dart
void someFunction11(Mixin instance) {
var other = DerivedClass2();
if (other == instance) print('someFunction11'); // OK
if (other != instance) print('!someFunction11'); // OK
}
class ClassBase {}
abstract class Mixin {}
class DerivedClass2 extends ClassBase with Mixin {}
使い方
#unrelated_type_equality_checks
ルールを有効にするには、analysis_options.yaml
ファイルの linter > rules の下に unrelated_type_equality_checks
を追加します。
analysis_options.yaml
yaml
linter:
rules:
- unrelated_type_equality_checks
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページ最終更新日: 2024-07-03. ソースを表示 または 問題を報告。