awslabs / smithy-intellij
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
  • 12% duplication:
    • 2,249 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 292 duplicated lines
  • 353 duplicates
system12% (292 lines)
Duplication per Extension
java14% (292 lines)
Duplication per Component (primary)
src/main/gen/software/amazon/smithy/plugin/language/psi/impl43% (280 lines)
src/main/gen/software/amazon/smithy/plugin/language/psi2% (12 lines)
src/main/java/software/amazon/smithy/plugin/listeners0% (0 lines)
src/main/java/software/amazon/smithy/plugin0% (0 lines)
src/main/java/software/amazon/smithy/plugin/services0% (0 lines)
src/main/java/software/amazon/smithy/plugin/language0% (0 lines)
src/main/java/software/amazon/smithy/plugin/language/psi0% (0 lines)
src/main/gen/software/amazon/smithy/plugin/parser0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 353 duplicates...
Size#FoldersFilesLinesCode
16 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyMetadataStatementImpl.java
SmithyNodeObjectKvpImpl.java
39:60 (76%)
39:60 (76%)
view
10 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectShapeStatementImpl.java
SmithySimpleShapeStatementImpl.java
51:64 (40%)
45:58 (47%)
view
10 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyAbsoluteRootShapeIdImpl.java
SmithyNamespaceStatementImpl.java
39:52 (58%)
39:52 (58%)
view
10 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyApplyStatementImpl.java
SmithyShapeMemberKvpImpl.java
39:52 (47%)
39:52 (40%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectKvpImpl.java
SmithyTraitStructureKvpImpl.java
45:54 (38%)
51:60 (38%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectKvpImpl.java
SmithyShapeMemberKvpImpl.java
51:60 (38%)
57:66 (32%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyMetadataStatementImpl.java
SmithyTraitStructureKvpImpl.java
45:54 (38%)
51:60 (38%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectShapeStatementImpl.java
SmithyShapeMemberKvpImpl.java
51:60 (32%)
57:66 (32%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectKvpImpl.java
SmithySimpleShapeStatementImpl.java
51:60 (38%)
45:54 (38%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectKvpImpl.java
SmithyNodeObjectShapeStatementImpl.java
51:60 (38%)
51:60 (32%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyMetadataStatementImpl.java
SmithyShapeMemberKvpImpl.java
51:60 (38%)
57:66 (32%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyMetadataStatementImpl.java
SmithyNodeObjectShapeStatementImpl.java
51:60 (38%)
51:60 (32%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyMetadataStatementImpl.java
SmithySimpleShapeStatementImpl.java
51:60 (38%)
45:54 (38%)
view
8 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyShapeMemberKvpImpl.java
SmithySimpleShapeStatementImpl.java
57:66 (32%)
45:54 (38%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyShapeMemberKvpImpl.java
SmithyWsImpl.java
39:46 (24%)
39:46 (46%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectImpl.java
SmithyNodeObjectShapeStatementImpl.java
39:46 (35%)
39:46 (24%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyRootShapeIdImpl.java
SmithyTraitImpl.java
39:46 (35%)
39:46 (35%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyNodeObjectShapeStatementImpl.java
SmithyUseSectionImpl.java
39:46 (24%)
39:46 (46%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyShapeIdImpl.java
SmithyShapeStatementImpl.java
39:46 (35%)
39:46 (35%)
view
6 x 2 src/main/gen/software/am...lugin/language/psi/impl
src/main/gen/software/am...lugin/language/psi/impl
SmithyAbsoluteRootShapeIdImpl.java
SmithyTraitStructureImpl.java
39:46 (35%)
39:46 (35%)
view