flutter / samples
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
  • 58% duplication:
    • 43,595 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 25,606 duplicated lines
  • 6,199 duplicates
system58% (25,606 lines)
Duplication per Extension
dart59% (21,140 lines)
cpp95% (1,518 lines)
html95% (1,002 lines)
yaml33% (550 lines)
swift48% (444 lines)
h76% (375 lines)
cc75% (260 lines)
kt15% (115 lines)
cmake77% (112 lines)
java25% (42 lines)
m13% (28 lines)
js100% (20 lines)
Duplication per Component (primary)
web66% (13,349 lines)
experimental52% (3,216 lines)
animations99% (1,622 lines)
place_tracker99% (1,314 lines)
add_to_app44% (1,126 lines)
jsonexample63% (1,010 lines)
navigation_and_routing98% (986 lines)
form_app99% (730 lines)
isolate_example47% (498 lines)
testing_app71% (488 lines)
provider_shopper97% (361 lines)
veggieseasons9% (332 lines)
platform_design10% (120 lines)
null_safety51% (108 lines)
infinite_list39% (107 lines)
platform_channels9% (60 lines)
flutter_maps_firestore21% (54 lines)
provider_counter42% (49 lines)
android_splash_screen17% (33 lines)
ios_app_clip24% (16 lines)
ROOT88% (15 lines)
platform_view_swift8% (12 lines)

Duplication Between Components (50+ lines)

G animations animations web web animations--web 3368 experimental experimental animations--experimental 86 navigation_and_routing navigation_and_routing animations--navigation_and_routing 84 form_app form_app animations--form_app 85 veggieseasons veggieseasons animations--veggieseasons 106 platform_design platform_design animations--platform_design 122 experimental--web 3268 place_tracker place_tracker experimental--place_tracker 230 experimental--navigation_and_routing 264 experimental--form_app 263 jsonexample jsonexample experimental--jsonexample 1654 testing_app testing_app experimental--testing_app 1580 isolate_example isolate_example experimental--isolate_example 1497 infinite_list infinite_list experimental--infinite_list 246 experimental--veggieseasons 118 experimental--platform_design 75 place_tracker--web 2809 place_tracker--testing_app 136 navigation_and_routing--web 2209 navigation_and_routing--place_tracker 150 navigation_and_routing--testing_app 156 navigation_and_routing--veggieseasons 74 form_app--web 1698 form_app--place_tracker 176 form_app--navigation_and_routing 195 form_app--jsonexample 154 form_app--testing_app 140 form_app--infinite_list 154 jsonexample--web 360 jsonexample--place_tracker 156 jsonexample--navigation_and_routing 170 jsonexample--testing_app 802 testing_app--web 362 isolate_example--web 134 isolate_example--jsonexample 868 isolate_example--testing_app 690 provider_shopper provider_shopper provider_shopper--web 788 infinite_list--web 380 infinite_list--place_tracker 156 infinite_list--navigation_and_routing 154 infinite_list--jsonexample 160 infinite_list--testing_app 152 veggieseasons--web 251 platform_design--web 217 platform_design--veggieseasons 86 null_safety null_safety null_safety--web 125 provider_counter provider_counter provider_counter--web 120 platform_channels platform_channels platform_channels--web 108 add_to_app add_to_app add_to_app--web 91 flutter_maps_firestore flutter_maps_firestore flutter_maps_firestore--web 74

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 6,199 duplicates...
Size#FoldersFilesLinesCode
454 x 2 place_tracker/lib
web/place_tracker/lib
place_map.dart
place_map.dart
5:598 (100%)
5:598 (100%)
view
290 x 2 place_tracker/lib
web/place_tracker/lib
place_details.dart
place_details.dart
5:333 (100%)
5:333 (100%)
view
181 x 2 place_tracker/lib
web/place_tracker/lib
place_list.dart
place_list.dart
5:214 (100%)
5:214 (100%)
view
159 x 2 animations/lib
web/animations/lib
main.dart
main.dart
5:184 (100%)
5:184 (100%)
view
147 x 2 animations/lib/src/misc
web/animations/lib/src/misc
card_swipe.dart
card_swipe.dart
5:202 (100%)
5:202 (100%)
view
146 x 2 isolate_example/windows/runner
jsonexample/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/desktop_photo_search/windows/runner
experimental/linting_tool/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 form_app/lib/src
web/form_app/lib/src
form_widgets.dart
form_widgets.dart
5:155 (75%)
5:155 (75%)
view
146 x 2 experimental/federated_p.../example/windows/runner
jsonexample/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/desktop_photo_search/windows/runner
isolate_example/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/federated_p.../example/windows/runner
isolate_example/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/linting_tool/windows/runner
testing_app/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/desktop_photo_search/windows/runner
testing_app/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/desktop_photo_search/windows/runner
jsonexample/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/desktop_photo_search/windows/runner
experimental/federated_p.../example/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/federated_p.../example/windows/runner
testing_app/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/linting_tool/windows/runner
isolate_example/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/federated_p.../example/windows/runner
experimental/linting_tool/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 isolate_example/windows/runner
testing_app/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
146 x 2 experimental/linting_tool/windows/runner
jsonexample/windows/runner
win32_window.cpp
win32_window.cpp
7:243 (100%)
7:243 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 201 unit duplicates...
Size#FoldersFilesLinesCode
135 x 2 web/form_app/lib/src
form_app/lib/src
validation.dart
validation.dart
22:167 
22:167 
view
133 x 2 web/form_app/lib/src
form_app/lib/src
form_widgets.dart
form_widgets.dart
25:158 
25:158 
view
99 x 2 web/form_app/lib/src
form_app/lib/src
autofill.dart
autofill.dart
20:119 
20:119 
view
79 x 2 experimental/web_dashboard/lib/src/widgets
web/web_dashboard/lib/src/widgets
edit_entry.dart
edit_entry.dart
75:154 
75:154 
view
73 x 2 animations/lib/src/misc
web/animations/lib/src/misc
curved_animation.dart
curved_animation.dart
87:160 
87:160 
view
70 x 2 add_to_app/plugin/flutter_module_using_plugin/lib
add_to_app/android_view/...module_using_plugin/lib
main.dart
main.dart
114:187 
115:188 
view
64 x 2 web/form_app/lib/src
form_app/lib/src
sign_in_http.dart
sign_in_http.dart
45:111 
45:111 
view
63 x 2 navigation_and_routing/lib/src/screens
web/navigation_and_routing/lib/src/screens
navigator.dart
navigator.dart
38:112 
38:112 
view
61 x 2 add_to_app/prebuilt_module/flutter_module/lib
add_to_app/fullscreen/flutter_module/lib
main.dart
main.dart
102:164 
102:164 
view
58 x 2 animations/lib/src/basics
web/animations/lib/src/basics
06_custom_tween.dart
06_custom_tween.dart
48:106 
48:106 
view
53 x 2 experimental/web_dashboard/lib/src/pages
web/web_dashboard/lib/src/pages
entries.dart
entries.dart
111:165 
111:165 
view
53 x 2 web/place_tracker/lib
place_tracker/lib
place_details.dart
place_details.dart
251:304 
251:304 
view
52 x 2 experimental/web_dashboard/lib/src/widgets
web/web_dashboard/lib/src/widgets
category_forms.dart
category_forms.dart
53:105 
53:105 
view
51 x 2 web/place_tracker/lib
place_tracker/lib
place_list.dart
place_list.dart
164:215 
164:215 
view
51 x 2 web/place_tracker/lib
place_tracker/lib
place_map.dart
place_map.dart
170:235 
170:235 
view
46 x 2 animations/lib/src/misc
web/animations/lib/src/misc
expand_card.dart
expand_card.dart
44:93 
44:93 
view
46 x 2 web/place_tracker/lib
place_tracker/lib
place_map.dart
place_map.dart
509:555 
509:555 
view
45 x 2 navigation_and_routing/lib/src/screens
web/navigation_and_routing/lib/src/screens
book_details.dart
book_details.dart
20:65 
20:65 
view
45 x 2 experimental/web_dashboard/lib/src/widgets
web/web_dashboard/lib/src/widgets
category_chart.dart
category_chart.dart
27:74 
27:74 
view
44 x 2 web/place_tracker/lib
place_tracker/lib
place_tracker_app.dart
place_tracker_app.dart
34:78 
34:78 
view