awslabs / smithy-kotlin
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
  • 3% duplication:
    • 11,001 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 384 duplicated lines
  • 37 duplicates
system3% (384 lines)
Duplication per Extension
kt3% (372 lines)
kts2% (12 lines)
Duplication per Component (primary)
smithy-kotlin-codegen/src6% (342 lines)
runtime/serde1% (24 lines)
runtime/protocol1% (18 lines)
dokka-smithy/src0% (0 lines)
dokka-smithy0% (0 lines)
runtime/testing0% (0 lines)
runtime/runtime-core0% (0 lines)
runtime/utils0% (0 lines)
runtime0% (0 lines)
runtime/logging0% (0 lines)
runtime/io0% (0 lines)
runtime/smithy-test0% (0 lines)
ROOT0% (0 lines)
ktlint-rules/src0% (0 lines)
ktlint-rules0% (0 lines)
smithy-kotlin-codegen0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 37 duplicates...
Size#FoldersFilesLinesCode
12 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
162:174 (4%)
154:166 (3%)
view
12 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
DeserializeStructGenerator.kt
165:176 (4%)
366:377 (4%)
view
12 x 2 smithy-kotlin-codegen/sr...otlin/codegen/rendering
smithy-kotlin-codegen/sr...otlin/codegen/rendering
GradleGenerator.kt
GradleGenerator.kt
85:97 (7%)
151:163 (7%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
366:375 (3%)
157:166 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
165:174 (3%)
186:195 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
366:375 (3%)
186:195 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeStructGenerator.kt
410:423 (3%)
492:505 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeUnionGenerator.kt
553:563 (3%)
139:149 (17%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeStructGenerator.kt
299:309 (3%)
329:339 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeStructGenerator.kt
157:166 (3%)
186:195 (3%)
view
10 x 2 smithy-kotlin-codegen/sr...otlin/codegen/rendering
smithy-kotlin-codegen/sr...otlin/codegen/rendering
ShapeValueGenerator.kt
ShapeValueGenerator.kt
63:75 (6%)
79:91 (6%)
view
9 x 2 smithy-kotlin-codegen/sr...otlin/codegen/rendering
smithy-kotlin-codegen/sr...otlin/codegen/rendering
StructureGenerator.kt
StructureGenerator.kt
55:63 (4%)
279:287 (4%)
view
9 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeStructGenerator.kt
92:100 (2%)
158:166 (2%)
view
9 x 2 smithy-kotlin-codegen/sr...otlin/codegen/rendering
smithy-kotlin-codegen/sr...otlin/codegen/rendering
StructureGenerator.kt
UnionGenerator.kt
137:148 (4%)
67:78 (13%)
view
9 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
166:174 (3%)
92:100 (2%)
view
9 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
SerializeStructGenerator.kt
SerializeStructGenerator.kt
92:100 (2%)
187:195 (2%)
view
9 x 2 runtime/serde/serde-xml/...otlin/runtime/serde/xml
runtime/serde/serde-xml/...otlin/runtime/serde/xml
XmlSerializer.kt
XmlSerializer.kt
254:270 (4%)
308:324 (4%)
view
9 x 2 smithy-kotlin-codegen/sr...codegen/rendering/serde
smithy-kotlin-codegen/sr...codegen/rendering/serde
DeserializeStructGenerator.kt
SerializeStructGenerator.kt
367:375 (3%)
92:100 (2%)
view
8 x 2 smithy-kotlin-codegen/sr...egen/rendering/protocol
smithy-kotlin-codegen/sr...egen/rendering/protocol
HttpProtocolTestGenerator.kt
HttpProtocolTestGenerator.kt
89:96 (10%)
119:126 (10%)
view
8 x 2 smithy-kotlin-codegen/sr...egen/rendering/protocol
smithy-kotlin-codegen/sr...egen/rendering/protocol
HttpProtocolTestGenerator.kt
HttpProtocolTestGenerator.kt
64:71 (10%)
89:96 (10%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
7 x 2 smithy-kotlin-codegen/sr...thy/kotlin/codegen/core
smithy-kotlin-codegen/sr...thy/kotlin/codegen/core
KotlinSymbolProvider.kt
KotlinSymbolProvider.kt
107:117 
210:220 
view
6 x 2 smithy-kotlin-codegen/sr...thy/kotlin/codegen/core
smithy-kotlin-codegen/sr...thy/kotlin/codegen/core
KotlinSymbolProvider.kt
KotlinSymbolProvider.kt
184:190 
202:208 
view