bazelbuild / tulsi
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
  • 14% duplication:
    • 20,973 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,962 duplicated lines
  • 1,118 duplicates
system14% (2,962 lines)
Duplication per Extension
swift16% (2,908 lines)
bzl3% (38 lines)
scss5% (16 lines)
Duplication per Component (primary)
src/TulsiGeneratorTests44% (2,269 lines)
src/TulsiGenerator3% (332 lines)
src/TulsiGeneratorIntegrationTests10% (169 lines)
src/TulsiEndToEndTests19% (105 lines)
src/Tulsi2% (71 lines)
site/_sass5% (16 lines)
ROOT0% (0 lines)
site0% (0 lines)
site/_includes0% (0 lines)
site/_layouts0% (0 lines)
site/css0% (0 lines)
src/tools0% (0 lines)

Duplication Between Components (50+ lines)

G src/TulsiGenerator src/TulsiGenerator src/TulsiGeneratorTests src/TulsiGeneratorTests src/TulsiGenerator--src/TulsiGeneratorTests 149

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 1,118 duplicates...
Size#FoldersFilesLinesCode
53 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
822:880 (1%)
942:1000 (1%)
view
52 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
592:649 (1%)
705:762 (1%)
view
50 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
1331:1384 (1%)
1419:1472 (1%)
view
48 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
376:429 (1%)
476:529 (1%)
view
42 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
385:429 (1%)
717:761 (1%)
view
42 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
385:429 (1%)
604:648 (1%)
view
42 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
485:529 (1%)
717:761 (1%)
view
42 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
485:529 (1%)
604:648 (1%)
view
41 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
1055:1099 (1%)
1127:1171 (1%)
view
36 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
1226:1262 (1%)
1525:1561 (1%)
view
34 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
727:761 (1%)
2002:2036 (1%)
view
34 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
614:648 (1%)
2002:2036 (1%)
view
34 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
395:429 (1%)
2002:2036 (1%)
view
34 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
495:529 (1%)
2002:2036 (1%)
view
34 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
618:652 (1%)
849:883 (1%)
view
33 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
720:753 (1%)
1519:1551 (1%)
view
33 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
731:764 (1%)
969:1002 (1%)
view
33 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
488:521 (1%)
1519:1551 (1%)
view
33 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
388:421 (1%)
1519:1551 (1%)
view
33 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
607:640 (1%)
1519:1551 (1%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
19 x 2 src/TulsiGeneratorIntegrationTests
src/TulsiGeneratorIntegrationTests
EndToEndGenerationTests.swift
EndToEndGenerationTests.swift
118:141 
262:285 
view
17 x 2 src/TulsiGeneratorIntegrationTests
src/TulsiGeneratorIntegrationTests
EndToEndGenerationTests.swift
EndToEndGenerationTests.swift
443:462 
464:483 
view
17 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
PBXTargetGeneratorTests.swift
PBXTargetGeneratorTests.swift
2744:2761 
2763:2780 
view
11 x 2 src/TulsiGenerator
src/TulsiGenerator
BazelBuildSettings.swift
BazelBuildSettings.swift
26:39 
44:57 
view
10 x 2 src/TulsiGenerator
src/TulsiGenerator
BazelBuildSettings.swift
BazelBuildSettings.swift
61:73 
77:89 
view
10 x 2 src/TulsiGeneratorTests
src/TulsiGeneratorTests
NSURLExtensionsTests.swift
NSURLExtensionsTests.swift
37:47 
49:59 
view
7 x 2 src/TulsiEndToEndTests
src/TulsiEndToEndTests
CanaryButtonsEndToEndTest.swift
NightlyButtonsEndToEndTest.swift
47:54 
47:54 
view
6 x 2 src/TulsiEndToEndTests/R...es/Buttons/ButtonsTests
src/TulsiEndToEndTests/R.../Buttons/ButtonsTVTests
ButtonsTests.swift
ButtonsTVTests.swift
20:26 
20:26 
view