apple / swift-http-structured-headers
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
  • 11% duplication:
    • 2,301 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 256 duplicated lines
  • 34 duplicates
system11% (256 lines)
Duplication per Extension
swift11% (256 lines)
Duplication per Component (primary)
Sources/StructuredFieldValues/Decoder38% (238 lines)
Sources/StructuredFieldValues/Encoder2% (18 lines)
ROOT0% (0 lines)
Sources/RawStructuredFieldValues0% (0 lines)
Sources/StructuredFieldValues0% (0 lines)
Sources/sh-parser0% (0 lines)
docker0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 34 duplicates...
Size#FoldersFilesLinesCode
49 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
TopLevelListDecoder.swift
32:117 (84%)
32:117 (84%)
view
28 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedInnerListDecoder.swift
KeyedTopLevelListDecoder.swift
46:91 (66%)
46:91 (66%)
view
28 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
ParametersDecoder.swift
41:86 (68%)
41:86 (68%)
view
28 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedInnerListDecoder.swift
KeyedItemDecoder.swift
46:91 (66%)
46:91 (66%)
view
28 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedItemDecoder.swift
KeyedTopLevelListDecoder.swift
46:91 (66%)
46:91 (66%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedTopLevelListDecoder.swift
46:86 (63%)
51:91 (61%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedItemDecoder.swift
46:86 (63%)
51:91 (61%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedItemDecoder.swift
ParametersDecoder.swift
51:91 (61%)
46:86 (63%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedInnerListDecoder.swift
ParametersDecoder.swift
51:91 (61%)
46:86 (63%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedInnerListDecoder.swift
46:86 (63%)
51:91 (61%)
view
26 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedTopLevelListDecoder.swift
ParametersDecoder.swift
51:91 (61%)
46:86 (63%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
KeyedItemDecoder.swift
65:76 (17%)
53:64 (23%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedInnerListDecoder.swift
TopLevelListDecoder.swift
53:64 (23%)
65:76 (17%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
TopLevelListDecoder.swift
48:59 (24%)
65:76 (17%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedTopLevelListDecoder.swift
TopLevelListDecoder.swift
53:64 (23%)
65:76 (17%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
KeyedItemDecoder.swift
TopLevelListDecoder.swift
53:64 (23%)
65:76 (17%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
ParametersDecoder.swift
65:76 (17%)
48:59 (24%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
KeyedInnerListDecoder.swift
65:76 (17%)
53:64 (23%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
ParametersDecoder.swift
TopLevelListDecoder.swift
48:59 (24%)
65:76 (17%)
view
10 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
KeyedTopLevelListDecoder.swift
65:76 (17%)
53:64 (23%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
21 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
TopLevelListDecoder.swift
53:78 
53:78 
view
14 x 5 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedInnerListDecoder.swift
KeyedItemDecoder.swift
KeyedTopLevelListDecoder.swift
ParametersDecoder.swift
46:61 
51:66 
51:66 
51:66 
46:61 
view
13 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
TopLevelListDecoder.swift
80:96 
80:96 
view
13 x 2 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
BareInnerListDecoder.swift
TopLevelListDecoder.swift
98:113 
98:113 
view
6 x 5 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedInnerListDecoder.swift
KeyedItemDecoder.swift
KeyedTopLevelListDecoder.swift
ParametersDecoder.swift
63:69 
68:74 
68:74 
68:74 
63:69 
view
6 x 5 Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
Sources/StructuredFieldValues/Decoder
DictionaryKeyedContainer.swift
KeyedInnerListDecoder.swift
KeyedItemDecoder.swift
KeyedTopLevelListDecoder.swift
ParametersDecoder.swift
71:77 
76:82 
76:82 
76:82 
71:77 
view
6 x 2 Sources/sh-parser
Sources/sh-parser
main.swift
main.swift
81:87 
143:149 
view