Skip to content
This repository was archived by the owner on Jul 16, 2023. It is now read-only.

Commit a9bef96

Browse files
authored
refactor: cleanup rules documentation (#550)
* refactor: remove unused PatternDocumentation * refactor: remove unused RuleDocumentation * chore: update changelog * chore: add some tests
1 parent a6e4dfd commit a9bef96

File tree

48 files changed

+114
-267
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+114
-267
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Unreleased
44

55
* feat: introduce file metrics
6-
* refactor: cleanup anti-patterns, metrics documentation
6+
* refactor: cleanup anti-patterns, metrics and rules documentation
77

88
## 4.6.0
99

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_method.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import '../../models/scoped_function_declaration.dart';
1717
import '../../models/severity.dart';
1818
import '../../rules/flutter_rule_utils.dart';
1919
import '../models/pattern.dart';
20-
import '../models/pattern_documentation.dart';
2120
import '../pattern_utils.dart';
2221

2322
class LongMethod extends Pattern {
@@ -37,10 +36,7 @@ class LongMethod extends Pattern {
3736
),
3837
super(
3938
id: patternId,
40-
documentation: const PatternDocumentation(
41-
name: 'Long Method',
42-
supportedType: EntityType.methodEntity,
43-
),
39+
supportedType: EntityType.methodEntity,
4440
severity: readSeverity(patternSettings, Severity.none),
4541
);
4642

lib/src/analyzers/lint_analyzer/anti_patterns/anti_patterns_list/long_parameter_list.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import '../../models/scoped_class_declaration.dart';
1414
import '../../models/scoped_function_declaration.dart';
1515
import '../../models/severity.dart';
1616
import '../models/pattern.dart';
17-
import '../models/pattern_documentation.dart';
1817
import '../pattern_utils.dart';
1918

2019
class LongParameterList extends Pattern {
@@ -35,10 +34,7 @@ class LongParameterList extends Pattern {
3534
),
3635
super(
3736
id: patternId,
38-
documentation: const PatternDocumentation(
39-
name: 'Long Parameter List',
40-
supportedType: EntityType.methodEntity,
41-
),
37+
supportedType: EntityType.methodEntity,
4238
severity: readSeverity(patternSettings, Severity.none),
4339
);
4440

lib/src/analyzers/lint_analyzer/anti_patterns/models/pattern.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import '../../models/entity_type.dart';
12
import '../../models/internal_resolved_unit_result.dart';
23
import '../../models/issue.dart';
34
import '../../models/report.dart';
45
import '../../models/scoped_class_declaration.dart';
56
import '../../models/scoped_function_declaration.dart';
67
import '../../models/severity.dart';
7-
import 'pattern_documentation.dart';
88

99
/// An interface to communicate with a patterns
1010
///
@@ -13,8 +13,8 @@ abstract class Pattern {
1313
/// The id of the pattern.
1414
final String id;
1515

16-
/// The documentation associated with the pattern.
17-
final PatternDocumentation documentation;
16+
/// The type of entities which will be analyzed by the pattern.
17+
final EntityType supportedType;
1818

1919
/// The severity of issues emitted by the pattern.
2020
final Severity severity;
@@ -24,7 +24,7 @@ abstract class Pattern {
2424

2525
const Pattern({
2626
required this.id,
27-
required this.documentation,
27+
required this.supportedType,
2828
required this.severity,
2929
});
3030

lib/src/analyzers/lint_analyzer/anti_patterns/models/pattern_documentation.dart

Lines changed: 0 additions & 18 deletions
This file was deleted.

lib/src/analyzers/lint_analyzer/rules/models/angular_rule.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
import '../../models/severity.dart';
22
import 'rule.dart';
3-
import 'rule_documentation.dart';
43
import 'rule_type.dart';
54

65
/// Represents a base class for angular-specific rules.
76
abstract class AngularRule extends Rule {
87
const AngularRule({
98
required String id,
10-
required RuleDocumentation documentation,
119
required Severity severity,
1210
required Iterable<String> excludes,
1311
}) : super(
1412
id: id,
1513
type: RuleType.angular,
16-
documentation: documentation,
1714
severity: severity,
1815
excludes: excludes,
1916
);

lib/src/analyzers/lint_analyzer/rules/models/common_rule.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
import '../../models/severity.dart';
22
import 'rule.dart';
3-
import 'rule_documentation.dart';
43
import 'rule_type.dart';
54

65
/// Represents a base class for common rules.
76
abstract class CommonRule extends Rule {
87
const CommonRule({
98
required String id,
10-
required RuleDocumentation documentation,
119
required Severity severity,
1210
required Iterable<String> excludes,
1311
}) : super(
1412
id: id,
1513
type: RuleType.common,
16-
documentation: documentation,
1714
severity: severity,
1815
excludes: excludes,
1916
);

lib/src/analyzers/lint_analyzer/rules/models/flutter_rule.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
import '../../models/severity.dart';
22
import 'rule.dart';
3-
import 'rule_documentation.dart';
43
import 'rule_type.dart';
54

65
/// Represents a base class for Flutter-specific rules.
76
abstract class FlutterRule extends Rule {
87
const FlutterRule({
98
required String id,
10-
required RuleDocumentation documentation,
119
required Severity severity,
1210
required Iterable<String> excludes,
1311
}) : super(
1412
id: id,
1513
type: RuleType.flutter,
16-
documentation: documentation,
1714
severity: severity,
1815
excludes: excludes,
1916
);

lib/src/analyzers/lint_analyzer/rules/models/intl_rule.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
import '../../models/severity.dart';
22
import 'rule.dart';
3-
import 'rule_documentation.dart';
43
import 'rule_type.dart';
54

65
/// Represents a base class for intl-specific rules.
76
abstract class IntlRule extends Rule {
87
const IntlRule({
98
required String id,
10-
required RuleDocumentation documentation,
119
required Severity severity,
1210
required Iterable<String> excludes,
1311
}) : super(
1412
id: id,
1513
type: RuleType.intl,
16-
documentation: documentation,
1714
severity: severity,
1815
excludes: excludes,
1916
);

lib/src/analyzers/lint_analyzer/rules/models/rule.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import '../../models/internal_resolved_unit_result.dart';
22
import '../../models/issue.dart';
33
import '../../models/severity.dart';
4-
import 'rule_documentation.dart';
54
import 'rule_type.dart';
65

76
/// An interface to communicate with a rules
@@ -14,9 +13,6 @@ abstract class Rule {
1413
/// The type of the rule.
1514
final RuleType type;
1615

17-
/// The documentation associated with the rule
18-
final RuleDocumentation documentation;
19-
2016
/// The severity of issues emitted by the rule
2117
final Severity severity;
2218

@@ -27,7 +23,6 @@ abstract class Rule {
2723
const Rule({
2824
required this.id,
2925
required this.type,
30-
required this.documentation,
3126
required this.severity,
3227
required this.excludes,
3328
});

lib/src/analyzers/lint_analyzer/rules/models/rule_documentation.dart

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/src/analyzers/lint_analyzer/rules/rules_list/always_remove_listener/always_remove_listener.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import '../../../models/issue.dart';
1313
import '../../../models/severity.dart';
1414
import '../../flutter_rule_utils.dart';
1515
import '../../models/flutter_rule.dart';
16-
import '../../models/rule_documentation.dart';
1716
import '../../rule_utils.dart';
1817

1918
part 'visitor.dart';
@@ -27,10 +26,6 @@ class AlwaysRemoveListenerRule extends FlutterRule {
2726
AlwaysRemoveListenerRule([Map<String, Object> config = const {}])
2827
: super(
2928
id: ruleId,
30-
documentation: const RuleDocumentation(
31-
name: 'Always remove listener',
32-
brief: 'Warns when an event listener is added but never removed.',
33-
),
3429
severity: readSeverity(config, Severity.warning),
3530
excludes: readExcludes(config),
3631
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_ignoring_return_values/avoid_ignoring_return_values.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import '../../../models/internal_resolved_unit_result.dart';
1111
import '../../../models/issue.dart';
1212
import '../../../models/severity.dart';
1313
import '../../models/common_rule.dart';
14-
import '../../models/rule_documentation.dart';
1514
import '../../rule_utils.dart';
1615

1716
part 'visitor.dart';
@@ -24,11 +23,6 @@ class AvoidIgnoringReturnValuesRule extends CommonRule {
2423
AvoidIgnoringReturnValuesRule([Map<String, Object> config = const {}])
2524
: super(
2625
id: ruleId,
27-
documentation: const RuleDocumentation(
28-
name: 'Avoid ignoring return values.',
29-
brief:
30-
'Warns when a return value of a method or function invocation or a class instance property access is not used.',
31-
),
3226
severity: readSeverity(config, Severity.warning),
3327
excludes: readExcludes(config),
3428
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_late_keyword/avoid_late_keyword.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import '../../../models/internal_resolved_unit_result.dart';
99
import '../../../models/issue.dart';
1010
import '../../../models/severity.dart';
1111
import '../../models/common_rule.dart';
12-
import '../../models/rule_documentation.dart';
1312
import '../../rule_utils.dart';
1413

1514
part 'visitor.dart';
@@ -22,11 +21,6 @@ class AvoidLateKeywordRule extends CommonRule {
2221
AvoidLateKeywordRule([Map<String, Object> config = const {}])
2322
: super(
2423
id: ruleId,
25-
documentation: const RuleDocumentation(
26-
name: "Avoid 'late' keyword",
27-
brief:
28-
'Warns when a field or variable is declared with a `late` keyword.',
29-
),
3024
severity: readSeverity(config, Severity.warning),
3125
excludes: readExcludes(config),
3226
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_nested_conditional_expressions/avoid_nested_conditional_expressions.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import '../../../models/internal_resolved_unit_result.dart';
99
import '../../../models/issue.dart';
1010
import '../../../models/severity.dart';
1111
import '../../models/common_rule.dart';
12-
import '../../models/rule_documentation.dart';
1312
import '../../rule_utils.dart';
1413

1514
part 'config_parser.dart';
@@ -26,10 +25,6 @@ class AvoidNestedConditionalExpressionsRule extends CommonRule {
2625
: _acceptableLevel = _ConfigParser.parseAcceptableLevel(config),
2726
super(
2827
id: ruleId,
29-
documentation: const RuleDocumentation(
30-
name: 'Avoid nested conditional expressions',
31-
brief: 'Warns about nested conditional expressions.',
32-
),
3328
severity: readSeverity(config, Severity.style),
3429
excludes: readExcludes(config),
3530
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_non_null_assertion/avoid_non_null_assertion.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import '../../../models/internal_resolved_unit_result.dart';
1010
import '../../../models/issue.dart';
1111
import '../../../models/severity.dart';
1212
import '../../models/common_rule.dart';
13-
import '../../models/rule_documentation.dart';
1413
import '../../rule_utils.dart';
1514

1615
part 'visitor.dart';
@@ -23,11 +22,6 @@ class AvoidNonNullAssertionRule extends CommonRule {
2322
AvoidNonNullAssertionRule([Map<String, Object> config = const {}])
2423
: super(
2524
id: ruleId,
26-
documentation: const RuleDocumentation(
27-
name: 'Avoid non null assertion',
28-
brief:
29-
'Warns when non null assertion operator (or “bang” operator) is used for a property access or method invocation. The operator check works at runtime and it may fail and throw a runtime exception.',
30-
),
3125
severity: readSeverity(config, Severity.warning),
3226
excludes: readExcludes(config),
3327
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_preserve_whitespace_false/avoid_preserve_whitespace_false.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import '../../../models/internal_resolved_unit_result.dart';
1111
import '../../../models/issue.dart';
1212
import '../../../models/severity.dart';
1313
import '../../models/angular_rule.dart';
14-
import '../../models/rule_documentation.dart';
1514
import '../../rule_utils.dart';
1615

1716
part 'visitor.dart';
@@ -24,11 +23,6 @@ class AvoidPreserveWhitespaceFalseRule extends AngularRule {
2423
AvoidPreserveWhitespaceFalseRule([Map<String, Object> config = const {}])
2524
: super(
2625
id: ruleId,
27-
documentation: const RuleDocumentation(
28-
name: 'Avoid preserve whitespace false',
29-
brief:
30-
'Warns when a @Component annotation has explicit false value for preserveWhitespace.',
31-
),
3226
severity: readSeverity(config, Severity.warning),
3327
excludes: readExcludes(config),
3428
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_returning_widgets/avoid_returning_widgets.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import '../../../models/issue.dart';
1111
import '../../../models/severity.dart';
1212
import '../../flutter_rule_utils.dart';
1313
import '../../models/flutter_rule.dart';
14-
import '../../models/rule_documentation.dart';
1514
import '../../rule_utils.dart';
1615

1716
part 'config_parser.dart';
@@ -34,11 +33,6 @@ class AvoidReturningWidgetsRule extends FlutterRule {
3433
_ignoredAnnotations = _ConfigParser.getIgnoredAnnotations(config),
3534
super(
3635
id: ruleId,
37-
documentation: const RuleDocumentation(
38-
name: 'Avoid returning widgets',
39-
brief:
40-
'Warns when a method or function returns a Widget or subclass of a Widget.',
41-
),
4236
severity: readSeverity(config, Severity.warning),
4337
excludes: readExcludes(config),
4438
);

lib/src/analyzers/lint_analyzer/rules/rules_list/avoid_unnecessary_setstate/avoid_unnecessary_setstate.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import '../../../models/issue.dart';
1010
import '../../../models/severity.dart';
1111
import '../../flutter_rule_utils.dart';
1212
import '../../models/flutter_rule.dart';
13-
import '../../models/rule_documentation.dart';
1413
import '../../rule_utils.dart';
1514

1615
part 'visitor.dart';
@@ -26,11 +25,6 @@ class AvoidUnnecessarySetStateRule extends FlutterRule {
2625
AvoidUnnecessarySetStateRule([Map<String, Object> config = const {}])
2726
: super(
2827
id: ruleId,
29-
documentation: const RuleDocumentation(
30-
name: 'Avoid returning widgets',
31-
brief:
32-
'Warns when `setState` is called inside `initState`, `didUpdateWidget` or `build` methods and when it is called from a `sync` method that is called inside those methods.',
33-
),
3428
severity: readSeverity(config, Severity.warning),
3529
excludes: readExcludes(config),
3630
);

0 commit comments

Comments
 (0)