AvoidDirectHiveAccess class

禁止业务代码直接调用 Hive 静态 API:

  • Hive.box(...)
  • Hive.openBox(...)
  • Hive.openLazyBox(...)
  • Hive.registerAdapter(...)
  • Hive.initFlutter(...) / Hive.init(...)(除了启动初始化)
  • HiveBoxes.xxx(常见的单例盒子门面,如存在)

要求改用 KeyValueStorage 抽象——这样:

  • 测试里可 override 为内存实现;
  • 业务不感知 Hive / SharedPreferences / Secure Storage 的差异;
  • KeyNamespace 管理 key 前缀,避免跨模块冲突。

豁免

  • flutter_spine 自身的存储实现(package/flutter_spine/lib/src/storage/**
  • 应用启动代码(/main.dart / lib/bootstrap.dart)——调 Hive.initFlutter 无可替代
  • 测试 / example 路径

Constructors

AvoidDirectHiveAccess()
const

Properties

code → LintCode
The LintCode that this LintRule may emit.
finalinherited
enabledByDefault bool
Whether the lint rule is on or off by default in an empty analysis_options.yaml
no setterinherited
filesToAnalyze List<String>
A list of glob patterns matching the files that run cares about.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getFixes() List<Fix>
Obtains the list of Fix associated with this LintRule.
inherited
isEnabled(CustomLintConfigs configs) bool
Checks whether this lint rule is enabled in a configuration file.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(CustomLintResolver resolver, ErrorReporter reporter, CustomLintContext context) → void
Emits lints for a given file.
startUp(CustomLintResolver resolver, CustomLintContext context) Future<void>
Emits lints for a given file.
inherited
testAnalyzeAndRun(File file) Future<List<AnalysisError>>
Analyze a Dart file and runs this assist in test mode.
inherited
testRun(ResolvedUnitResult result, {Pubspec? pubspec}) Future<List<AnalysisError>>
Runs this assist in test mode.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited