directives_ordering
遵循 Effective Dart 指南的指令排序約定。
詳情
#建議遵循 Effective Dart 中的指令排序約定
建議將 dart: 匯入放在其他匯入之前。
不規範
dart
import 'package:bar/bar.dart';
import 'package:foo/foo.dart';
import 'dart:async'; // LINT
import 'dart:html'; // LINT不規範
dart
import 'dart:html'; // OK
import 'package:bar/bar.dart';
import 'dart:async'; // LINT
import 'package:foo/foo.dart';規範
dart
import 'dart:async'; // OK
import 'dart:html'; // OK
import 'package:bar/bar.dart';
import 'package:foo/foo.dart';建議將 package: 匯入放在相對匯入之前。
不規範
dart
import 'a.dart';
import 'b.dart';
import 'package:bar/bar.dart'; // LINT
import 'package:foo/foo.dart'; // LINT不規範
dart
import 'package:bar/bar.dart'; // OK
import 'a.dart';
import 'package:foo/foo.dart'; // LINT
import 'b.dart';規範
dart
import 'package:bar/bar.dart'; // OK
import 'package:foo/foo.dart'; // OK
import 'a.dart';
import 'b.dart';建議在所有匯入之後,在單獨的部分中指定匯出。
不規範
dart
import 'src/error.dart';
export 'src/error.dart'; // LINT
import 'src/string_source.dart';規範
dart
import 'src/error.dart';
import 'src/string_source.dart';
export 'src/error.dart'; // OK建議按字母順序對各個部分進行排序。
不規範
dart
import 'package:foo/bar.dart'; // OK
import 'package:bar/bar.dart'; // LINT
import 'a/b.dart'; // OK
import 'a.dart'; // LINT規範
dart
import 'package:bar/bar.dart'; // OK
import 'package:foo/bar.dart'; // OK
import 'a.dart'; // OK
import 'a/b.dart'; // OK啟用
#要啟用 directives_ordering 規則,請在您的 analysis_options.yaml 檔案中,將 directives_ordering 新增到 linter > rules 下方
analysis_options.yaml
yaml
linter:
rules:
- directives_ordering如果您改為使用 YAML 對映語法配置 linter 規則,請在 linter > rules 下方新增 directives_ordering: true
analysis_options.yaml
yaml
linter:
rules:
directives_ordering: true