aws-quickstart / qs-cfn-lint-rules
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 15% duplication:
    • 1,796 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 287 duplicated lines
  • 41 duplicates
system15% (287 lines)
Duplication per Extension
py16% (287 lines)
Duplication per Component (primary)
qs_cfn_lint_rules/stack37% (170 lines)
qs_cfn_lint_rules9% (117 lines)
type_fixer0% (0 lines)
assets0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 41 duplicates...
Size#FoldersFilesLinesCode
21 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
MissingParameter.py
35:68 (33%)
35:68 (32%)
view
18 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MatchingParameterNotPassed.py
ParameterNotInChild.py
39:59 (26%)
37:65 (32%)
view
16 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
MissingParameter.py
70:93 (25%)
76:99 (24%)
view
14 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
MatchingParameterNotPassed.py
37:58 (22%)
40:55 (20%)
view
14 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
ParameterNotInChild.py
37:58 (22%)
38:59 (25%)
view
14 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MissingParameter.py
ParameterNotInChild.py
37:58 (21%)
38:59 (25%)
view
14 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MatchingParameterNotPassed.py
MissingParameter.py
40:55 (20%)
37:58 (21%)
view
14 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
Groups.py
InclusiveLanguage.py
34:48 (58%)
75:89 (24%)
view
13 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
IAMNotAction.py
IAMNotResource.py
43:57 (43%)
38:52 (52%)
view
11 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MissingParameter.py
ParameterNotInChild.py
85:99 (16%)
75:89 (20%)
view
11 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
ParameterNotInChild.py
79:93 (17%)
75:89 (20%)
view
11 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
StackHelper.py
StackHelper.py
325:339 (5%)
346:358 (5%)
view
9 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
DefaultParameter.py
MatchingParameterNotPassed.py
74:85 (14%)
70:81 (13%)
view
9 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
IAMNoAccountNumber.py
PrincipalWildcard.py
39:49 (37%)
47:57 (28%)
view
9 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MatchingParameterNotPassed.py
MissingParameter.py
70:81 (13%)
80:91 (13%)
view
8 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
IAMResourceWildcard.py
PrincipalWildcard.py
125:133 (8%)
51:59 (25%)
view
8 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
LambdaRuntimeEOL.py
LambdaRuntimeEOL.py
31:38 (22%)
40:47 (22%)
view
7 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
Groups.py
Labels.py
42:48 (29%)
43:49 (29%)
view
7 x 2 qs_cfn_lint_rules
qs_cfn_lint_rules
InclusiveLanguage.py
Labels.py
83:89 (12%)
43:49 (29%)
view
6 x 2 qs_cfn_lint_rules/stack
qs_cfn_lint_rules/stack
MatchingParameterNotPassed.py
ParameterNotInChild.py
87:93 (8%)
83:89 (10%)
view