目錄

directives_ordering

遵循 Effective Dart 指南的 directives 排序慣例。

此規則自 Dart 2.0 起可用。

此規則提供快速修正

詳細資訊

#

請務必遵循 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 檔案中的 linter > rules 下方加入 directives_ordering

analysis_options.yaml
yaml
linter:
  rules:
    - directives_ordering