dart-lang / ffigen
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
  • 16% duplication:
    • 13,660 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,215 duplicated lines
  • 142 duplicates
system16% (2,215 lines)
Duplication per Extension
dart16% (2,177 lines)
yaml14% (38 lines)
Duplication per Component (primary)
example/libclang-example16% (1,171 lines)
lib/src/header_parser33% (856 lines)
lib/src/code_generator11% (131 lines)
lib/src/config_provider3% (38 lines)
example/simple7% (7 lines)
example/c_json<1% (6 lines)
tool6% (6 lines)
lib0% (0 lines)
lib/src/executables0% (0 lines)
lib/src0% (0 lines)
example/simple/headers0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G example/libclang-example example/libclang-example lib/src/header_parser lib/src/header_parser example/libclang-example--lib/src/header_parser 1768

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 142 duplicates...
Size#FoldersFilesLinesCode
262 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
8332:9114 (3%)
1425:2207 (22%)
view
124 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
9345:9480 (1%)
2238:2373 (10%)
view
18 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
1438:1455 (<1%)
308:325 (1%)
view
16 x 2 example/libclang-example
example/libclang-example
custom_import.dart
custom_import.dart
11:26 (34%)
39:54 (34%)
view
15 x 2 lib/src/code_generator
lib/src/code_generator
struc.dart
union.dart
33:47 (75%)
32:46 (75%)
view
14 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
729:742 (<1%)
187:200 (1%)
view
13 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6650:6662 (<1%)
6689:6701 (<1%)
view
13 x 2 lib/src/config_provider
lib/src/config_provider
spec_utils.dart
spec_utils.dart
648:666 (2%)
673:691 (2%)
view
13 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6636:6648 (<1%)
6675:6687 (<1%)
view
12 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
11038:11049 (<1%)
11064:11075 (<1%)
view
12 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
11051:11062 (<1%)
11077:11088 (<1%)
view
12 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
7807:7827 (<1%)
1220:1240 (1%)
view
11 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6675:6685 (<1%)
11051:11061 (<1%)
view
11 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6675:6685 (<1%)
11077:11087 (<1%)
view
11 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6636:6646 (<1%)
11051:11061 (<1%)
view
11 x 2 example/libclang-example
example/libclang-example
generated_bindings.dart
generated_bindings.dart
6636:6646 (<1%)
11077:11087 (<1%)
view
10 x 2 lib/src/code_generator
lib/src/code_generator
binding.dart
binding.dart
43:52 (25%)
58:67 (25%)
view
10 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
3960:3969 (<1%)
891:900 (<1%)
view
10 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
26:39 (<1%)
25:38 (<1%)
view
9 x 2 example/libclang-example
lib/src/header_parser/clang_bindings
generated_bindings.dart
clang_bindings.dart
3269:3279 (<1%)
746:756 (<1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 57 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 lib/src/config_provider
lib/src/config_provider
spec_utils.dart
spec_utils.dart
647:667 
672:692 
view
18 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
308:326 
1438:1456 
view
14 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
187:201 
729:743 
view
10 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
891:901 
3960:3970 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
97:105 
112:120 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
149:157 
507:515 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
242:250 
959:967 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
287:295 
1021:1029 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
563:571 
2774:2782 
view
8 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
746:754 
3269:3277 
view
6 x 2 lib/src/code_generator
lib/src/code_generator
utils.dart
utils.dart
53:60 
65:72 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
45:51 
45:51 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
117:123 
131:137 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
132:138 
216:222 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
221:227 
938:944 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
260:266 
994:1000 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
350:356 
1646:1652 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
368:374 
1869:1875 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
384:390 
1902:1908 
view
6 x 2 lib/src/header_parser/clang_bindings
example/libclang-example
clang_bindings.dart
generated_bindings.dart
399:405 
1931:1937 
view