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
LintCodethat thisLintRulemay 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
Fixassociated with thisLintRule.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