apple / swift-markdown
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
  • 5% duplication:
    • 3,539 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 188 duplicated lines
  • 5 duplicates
system5% (188 lines)
Duplication per Extension
swift5% (188 lines)
Duplication per Component (primary)
ROOT97% (76 lines)
Sources/Markdown/Rewriter88% (44 lines)
Sources/Markdown/Visitor46% (44 lines)
Sources/Markdown/Base2% (12 lines)
Sources/Markdown/Inline Nodes4% (12 lines)
Sources/CAtomic0% (0 lines)
Sources/CAtomic/include0% (0 lines)
Sources/Markdown/Block Nodes0% (0 lines)
Sources/Markdown/Infrastructure0% (0 lines)
Sources/Markdown/Interpretive Nodes0% (0 lines)
Sources/Markdown/Parser0% (0 lines)
Sources/Markdown/Structural Restrictions0% (0 lines)
Sources/Markdown/Utility0% (0 lines)
Sources/Markdown/Walker0% (0 lines)
Sources/markdown-tool/Commands0% (0 lines)
Sources/markdown-tool0% (0 lines)

Duplication Between Components (50+ lines)

G Sources/Markdown/Rewriter Sources/Markdown/Rewriter Sources/Markdown/Visitor Sources/Markdown/Visitor Sources/Markdown/Rewriter--Sources/Markdown/Visitor 88

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 5 longest duplicates.
See data for all 5 duplicates...
Size#FoldersFilesLinesCode
44 x 2 Sources/Markdown/Rewriter
Sources/Markdown/Visitor
MarkupRewriter.swift
MarkupVisitor.swift
21:85 (88%)
278:342 (46%)
view
22 x 2 ROOT
ROOT
Package.swift
Package@swift-5.5.swift
35:62 (56%)
35:62 (56%)
view
16 x 2 ROOT
ROOT
Package.swift
Package@swift-5.5.swift
17:33 (41%)
17:33 (41%)
view
6 x 2 Sources/Markdown/Base
Sources/Markdown/Base
MarkupChildren.swift
MarkupChildren.swift
35:52 (13%)
91:107 (13%)
view
6 x 2 Sources/Markdown/Inline&.../Inline Containers
Sources/Markdown/Inline&.../Inline Containers
Emphasis.swift
Strong.swift
38:47 (31%)
37:46 (31%)
view