android / storage-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
  • 20% duplication:
    • 2,144 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 434 duplicated lines
  • 9 duplicates
system20% (434 lines)
Duplication per Extension
java31% (422 lines)
kt1% (12 lines)
Duplication per Component (primary)
StorageProvider/Application/src/main/java/com/example/android/common98% (189 lines)
StorageClient/Application/src/main/java/com/example/android/common98% (189 lines)
StorageProvider/Application/src/main/java/com/example/android/storageprovider6% (22 lines)
StorageClient/Application/src/main/java/com/example/android/storageclient12% (16 lines)
FileProvider/app/src/main/java/com/example/graygallery/ui6% (12 lines)
ContentProviderPaging/app/src/main/java/com/example/android/contentproviderpaging2% (6 lines)
SharingShortcuts/Application/src/main/java/com/example/android/sharingshortcuts0% (0 lines)
ActionOpenDocumentTree/app/src/main/java/com/example/android/ktfiles0% (0 lines)
ActionOpenDocument/app/src/main/java/com/example/android/actionopendocument0% (0 lines)
ContentProviderPagingKotlin/app/src/main/kotlin/com.example.android.contentproviderpaging0% (0 lines)
FileProvider/app/src/main/java/com/example/graygallery/utils0% (0 lines)
FileProvider/app/src/main/java/com/example/graygallery0% (0 lines)

Duplication Between Components (50+ lines)

G StorageClient/Application/src/main/java/com/example/android/common StorageClient/Application/src/main/java/com/example/android/common StorageProvider/Application/src/main/java/com/example/android/common StorageProvider/Application/src/main/java/com/example/android/common StorageClient/Application/src/main/java/com/example/android/common--StorageProvider/Application/src/main/java/com/example/android/common 378

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 9 longest duplicates.
See data for all 9 duplicates...
Size#FoldersFilesLinesCode
60 x 2 StorageClient/Applicatio...e/android/common/logger
StorageProvider/Applicat...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
46 x 2 StorageClient/Applicatio...e/android/common/logger
StorageProvider/Applicat...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
42 x 2 StorageClient/Applicatio...e/android/common/logger
StorageProvider/Applicat...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
16 x 2 StorageClient/Applicatio...e/android/storageclient
StorageProvider/Applicat...android/storageprovider
MainActivity.java
MainActivity.java
49:76 (59%)
50:77 (57%)
view
16 x 2 StorageClient/Applicatio...e/android/common/logger
StorageProvider/Applicat...e/android/common/logger
LogWrapper.java
LogWrapper.java
24:72 (100%)
24:72 (100%)
view
13 x 2 StorageClient/Applicatio...e/android/common/logger
StorageProvider/Applicat...e/android/common/logger
MessageOnlyLogFilter.java
MessageOnlyLogFilter.java
23:57 (100%)
23:57 (100%)
view
12 x 2 StorageClient/Applicatio...droid/common/activities
StorageProvider/Applicat...droid/common/activities
SampleActivityBase.java
SampleActivityBase.java
32:52 (92%)
30:50 (92%)
view
6 x 2 ContentProviderPaging/ap...d/contentproviderpaging
StorageProvider/Applicat...android/storageprovider
ImageProvider.java
MyCloudProvider.java
232:238 (5%)
603:609 (2%)
view
6 x 2 FileProvider/app/src/mai.../example/graygallery/ui
FileProvider/app/src/mai.../example/graygallery/ui
DashboardFragment.kt
GalleryFragment.kt
51:56 (13%)
40:45 (15%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
43 x 2 StorageProvider/Applicat...e/android/common/logger
StorageClient/Applicatio...e/android/common/logger
LogView.java
LogView.java
48:106 
48:106 
view
22 x 2 StorageProvider/Applicat...e/android/common/logger
StorageClient/Applicatio...e/android/common/logger
LogFragment.java
LogFragment.java
56:83 
56:83 
view
14 x 2 StorageProvider/Applicat...e/android/common/logger
StorageClient/Applicatio...e/android/common/logger
LogFragment.java
LogFragment.java
86:104 
86:104 
view
12 x 2 StorageProvider/Applicat...e/android/common/logger
StorageClient/Applicatio...e/android/common/logger
LogWrapper.java
LogWrapper.java
52:74 
52:74 
view
8 x 2 StorageProvider/Applicat...e/android/common/logger
StorageClient/Applicatio...e/android/common/logger
LogView.java
LogView.java
125:134 
125:134 
view