apple / swift-docc-plugin
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
  • 83% duplication:
    • 932 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 778 duplicated lines
  • 34 duplicates
system83% (778 lines)
Duplication per Extension
swift83% (778 lines)
Duplication per Component (primary)
Plugins/Swift-DocC Preview/Symbolic Links95% (254 lines)
Plugins/Swift-DocC Convert/Symbolic Links95% (254 lines)
Sources/SwiftDocCPluginUtilities97% (143 lines)
Plugins/SharedPackagePluginExtensions86% (40 lines)
Sources/SwiftDocCPluginUtilities/CommandLineOptions100% (36 lines)
Sources/SwiftDocCPluginUtilities/PluginFlags94% (35 lines)
Plugins/Swift-DocC Convert20% (8 lines)
Plugins/Swift-DocC Preview16% (8 lines)
ROOT0% (0 lines)
Sources/SwiftDocCPluginDocumentation0% (0 lines)

Duplication Between Components (50+ lines)

G Plugins/Swift-DocC Convert/Symbolic Links Plugins/Swift-DocC Convert/Symbolic Links Plugins/Swift-DocC Preview/Symbolic Links Plugins/Swift-DocC Preview/Symbolic Links Plugins/Swift-DocC Convert/Symbolic Links--Plugins/Swift-DocC Preview/Symbolic Links 508 Sources/SwiftDocCPluginUtilities Sources/SwiftDocCPluginUtilities Plugins/Swift-DocC Convert/Symbolic Links--Sources/SwiftDocCPluginUtilities 286 Sources/SwiftDocCPluginUtilities/CommandLineOptions Sources/SwiftDocCPluginUtilities/CommandLineOptions Plugins/Swift-DocC Convert/Symbolic Links--Sources/SwiftDocCPluginUtilities/CommandLineOptions 72 Sources/SwiftDocCPluginUtilities/PluginFlags Sources/SwiftDocCPluginUtilities/PluginFlags Plugins/Swift-DocC Convert/Symbolic Links--Sources/SwiftDocCPluginUtilities/PluginFlags 70 Plugins/Swift-DocC Preview/Symbolic Links--Sources/SwiftDocCPluginUtilities 286 Plugins/Swift-DocC Preview/Symbolic Links--Sources/SwiftDocCPluginUtilities/CommandLineOptions 72 Plugins/Swift-DocC Preview/Symbolic Links--Sources/SwiftDocCPluginUtilities/PluginFlags 70 Plugins/SharedPackagePluginExtensions Plugins/SharedPackagePluginExtensions Plugins/SharedPackagePluginExtensions--Plugins/Swift-DocC Convert/Symbolic Links 80 Plugins/SharedPackagePluginExtensions--Plugins/Swift-DocC Preview/Symbolic Links 80

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 34 duplicates...
Size#FoldersFilesLinesCode
58 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
HelpInformation.swift
HelpInformation.swift
12:117 (100%)
12:117 (100%)
view
58 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
HelpInformation.swift
HelpInformation.swift
12:117 (100%)
12:117 (100%)
view
58 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Plugins/Swift-DocC ...wiftDocCPluginUtilities
HelpInformation.swift
HelpInformation.swift
12:117 (100%)
12:117 (100%)
view
54 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
ParsedArguments.swift
ParsedArguments.swift
10:174 (100%)
10:174 (100%)
view
54 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Plugins/Swift-DocC ...wiftDocCPluginUtilities
ParsedArguments.swift
ParsedArguments.swift
10:174 (100%)
10:174 (100%)
view
54 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
ParsedArguments.swift
ParsedArguments.swift
10:174 (100%)
10:174 (100%)
view
26 x 2 Plugins/Swift-DocC ...ties/CommandLineOptions
Sources/SwiftDocCPluginU...ties/CommandLineOptions
CommandLineOption.swift
CommandLineOption.swift
10:61 (100%)
10:61 (100%)
view
26 x 2 Plugins/Swift-DocC ...ties/CommandLineOptions
Sources/SwiftDocCPluginU...ties/CommandLineOptions
CommandLineOption.swift
CommandLineOption.swift
10:61 (100%)
10:61 (100%)
view
26 x 2 Plugins/Swift-DocC ...ties/CommandLineOptions
Plugins/Swift-DocC ...ties/CommandLineOptions
CommandLineOption.swift
CommandLineOption.swift
10:61 (100%)
10:61 (100%)
view
21 x 2 Plugins/Swift-DocC ...inUtilities/PluginFlags
Sources/SwiftDocCPluginUtilities/PluginFlags
PluginFlag.swift
PluginFlag.swift
12:66 (100%)
12:66 (100%)
view
21 x 2 Plugins/Swift-DocC ...inUtilities/PluginFlags
Sources/SwiftDocCPluginUtilities/PluginFlags
PluginFlag.swift
PluginFlag.swift
12:66 (100%)
12:66 (100%)
view
21 x 2 Plugins/Swift-DocC ...inUtilities/PluginFlags
Plugins/Swift-DocC ...inUtilities/PluginFlags
PluginFlag.swift
PluginFlag.swift
12:66 (100%)
12:66 (100%)
view
19 x 2 Plugins/Swift-DocC ...PackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
11:47 (100%)
11:47 (100%)
view
19 x 2 Plugins/SharedPackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
11:47 (100%)
11:47 (100%)
view
19 x 2 Plugins/SharedPackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
11:47 (100%)
11:47 (100%)
view
19 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
DocumentationTargetKind.swift
DocumentationTargetKind.swift
10:43 (100%)
10:43 (100%)
view
19 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Plugins/Swift-DocC ...wiftDocCPluginUtilities
DocumentationTargetKind.swift
DocumentationTargetKind.swift
10:43 (100%)
10:43 (100%)
view
19 x 2 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
DocumentationTargetKind.swift
DocumentationTargetKind.swift
10:43 (100%)
10:43 (100%)
view
14 x 2 Plugins/Swift-DocC ...inUtilities/PluginFlags
Plugins/Swift-DocC ...inUtilities/PluginFlags
DisableIndexFlag.swift
DisableIndexFlag.swift
9:29 (100%)
9:29 (100%)
view
14 x 2 Plugins/Swift-DocC ...inUtilities/PluginFlags
Sources/SwiftDocCPluginUtilities/PluginFlags
DisableIndexFlag.swift
DisableIndexFlag.swift
9:29 (100%)
9:29 (100%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
12 x 3 Plugins/SharedPackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
14:31 
14:31 
14:31 
view
10 x 3 Plugins/SharedPackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Plugins/Swift-DocC ...PackagePluginExtensions
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
Target+defaultSymbolGraphOptions.swift
34:48 
34:48 
34:48 
view
8 x 3 Plugins/Swift-DocC ...inUtilities/PluginFlags
Plugins/Swift-DocC ...inUtilities/PluginFlags
Sources/SwiftDocCPluginUtilities/PluginFlags
PluginFlag.swift
PluginFlag.swift
PluginFlag.swift
33:47 
33:47 
33:47 
view
6 x 3 Plugins/Swift-DocC ...wiftDocCPluginUtilities
Plugins/Swift-DocC ...wiftDocCPluginUtilities
Sources/SwiftDocCPluginUtilities
DocumentationTargetKind.swift
DocumentationTargetKind.swift
DocumentationTargetKind.swift
37:44 
37:44 
37:44 
view