firebase / abseil-cpp-SwiftPM
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
  • 7% duplication:
    • 56,211 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,287 duplicated lines
  • 346 duplicates
system7% (4,287 lines)
Duplication per Extension
h5% (1,725 lines)
cmake79% (1,642 lines)
cc2% (568 lines)
inc9% (277 lines)
bzl20% (54 lines)
in45% (21 lines)
Duplication per Component (primary)
ci/CMake80% (804 lines)
CMake90% (763 lines)
absl/types10% (610 lines)
absl/strings3% (524 lines)
absl/base8% (271 lines)
absl/debugging6% (229 lines)
absl/time3% (172 lines)
absl/container2% (162 lines)
absl/random2% (125 lines)
absl/copts15% (96 lines)
absl/numeric6% (94 lines)
absl/profiling44% (93 lines)
absl/algorithm9% (87 lines)
absl/synchronization2% (78 lines)
absl/status5% (65 lines)
CMake/Googletest82% (48 lines)
absl/flags1% (28 lines)
absl/hash1% (14 lines)
absl/meta3% (12 lines)
absl3% (6 lines)
absl/memory2% (6 lines)
SwiftPMTests/build-test0% (0 lines)
ROOT0% (0 lines)
ci0% (0 lines)
CMake/install_test_project0% (0 lines)
absl/cleanup0% (0 lines)
absl/functional0% (0 lines)
absl/utility0% (0 lines)

Duplication Between Components (50+ lines)

G CMake CMake ci/CMake ci/CMake CMake--ci/CMake 1526 absl/base absl/base absl/profiling absl/profiling absl/base--absl/profiling 186 CMake/Googletest CMake/Googletest CMake/Googletest--ci/CMake 89

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 346 duplicates...
Size#FoldersFilesLinesCode
173 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
251:424 (34%)
287:460 (32%)
view
61 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
65:125 (12%)
62:122 (11%)
view
55 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
425:487 (11%)
462:524 (10%)
view
54 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
197:250 (10%)
232:285 (10%)
view
42 x 2 CMake
ci/CMake
cmake
AbseilHelpers.cmake
AbseilHelpers.cmake
294:341 (13%)
368:415 (10%)
view
40 x 2 CMake
ci/CMake
cmake
AbseilHelpers.cmake
AbseilHelpers.cmake
45:84 (12%)
44:83 (9%)
view
38 x 2 CMake
ci/CMake
cmake
AbseilHelpers.cmake
AbseilHelpers.cmake
249:288 (11%)
323:362 (9%)
view
36 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
143:178 (7%)
149:184 (6%)
view
35 x 2 absl/base/internal
absl/base/internal
endian.h
endian.h
173:229 (23%)
263:319 (23%)
view
34 x 2 CMake/Googletest
ci/CMake/Googletest
cmake
DownloadGTest.cmake
DownloadGTest.cmake
1:41 (100%)
1:41 (100%)
view
33 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
699:739 (4%)
754:794 (4%)
view
32 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
537:576 (4%)
591:630 (4%)
view
31 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
488:524 (4%)
650:686 (4%)
view
31 x 2 CMake
ci/CMake
cmake
AbseilDll.cmake
AbseilDll.cmake
34:64 (6%)
29:59 (5%)
view
31 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
542:578 (4%)
705:741 (4%)
view
31 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
596:632 (4%)
760:796 (4%)
view
29 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
542:576 (4%)
760:794 (4%)
view
29 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
596:630 (4%)
705:739 (4%)
view
28 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
593:628 (3%)
647:682 (3%)
view
28 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
539:574 (3%)
647:682 (3%)
view
Duplicated Units
The list of top 13 duplicated units.
See data for all 13 unit duplicates...
Size#FoldersFilesLinesCode
24 x 2 absl/strings
absl/strings
numbers.cc
numbers.cc
46:75 
77:106 
view
18 x 2 absl/time/internal/cctz/src
absl/time/internal/cctz/src
time_zone_info.cc
time_zone_format.cc
88:106 
71:89 
view
15 x 2 absl/profiling/internal
absl/base/internal
periodic_sampler.cc
periodic_sampler.cc
29:49 
29:49 
view
14 x 2 absl/debugging/internal
absl/debugging/internal
demangle.cc
demangle.cc
865:879 
883:897 
view
9 x 2 absl/profiling/internal
absl/base/internal
exponential_biased.cc
exponential_biased.cc
76:89 
76:89 
view
8 x 2 absl/container
absl/container
btree_map.h
btree_map.h
471:479 
802:810 
view
8 x 2 absl/container
absl/container
btree_set.h
btree_set.h
389:397 
715:723 
view
8 x 2 absl/types/internal
absl/types/internal
conformance_archetype.h
conformance_archetype.h
506:514 
560:568 
view
7 x 2 absl/container/internal
absl/container/internal
raw_hash_map.h
raw_hash_map.h
143:150 
153:160 
view
7 x 2 absl/strings
absl/strings
cord.cc
cord.cc
1423:1432 
1434:1443 
view
7 x 2 absl/profiling/internal
absl/base/internal
exponential_biased.h
exponential_biased.h
117:124 
117:124 
view
7 x 2 absl/types/internal
absl/types/internal
conformance_testing.h
conformance_testing.h
842:853 
880:888 
view
6 x 2 absl/container
absl/container
inlined_vector.h
inlined_vector.h
339:345 
352:358 
view