android / animation-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
  • 32% duplication:
    • 2,945 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 948 duplicated lines
  • 49 duplicates
system32% (948 lines)
Duplication per Extension
java39% (948 lines)
Duplication per Component (primary)
RevealEffectBasic/Application/src/main/java/com/example/android/common98% (190 lines)
BasicTransition/Application/src/main/java/com/example/android/common44% (190 lines)
CustomTransition/Application/src/main/java/com/example/android/common98% (190 lines)
Interpolator/Application/src/main/java/com/example/android/common98% (190 lines)
CustomTransition/Application/src/main/java/com/example/android/customtransition43% (50 lines)
BasicTransition/Application/src/main/java/com/example/android/basictransition48% (44 lines)
Interpolator/Application/src/main/java/com/example/android/interpolator31% (44 lines)
RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic60% (44 lines)
Unsplash/app/src/main/java/com/example/android/unsplash<1% (6 lines)
DrawableAnimations/app/src/main/java/com/example/android/drawableanimations0% (0 lines)
ActivitySceneTransitionBasic/app/src/main/java/com/example/android/activityscenetransitionbasic0% (0 lines)
Motion/app/src/main/java/com/example/android/motion0% (0 lines)
MotionCompose/app/src/main/java/com/example/android/compose0% (0 lines)

Duplication Between Components (50+ lines)

G CustomTransition/Application/src/main/java/com/example/android/common CustomTransition/Application/src/main/java/com/example/android/common RevealEffectBasic/Application/src/main/java/com/example/android/common RevealEffectBasic/Application/src/main/java/com/example/android/common CustomTransition/Application/src/main/java/com/example/android/common--RevealEffectBasic/Application/src/main/java/com/example/android/common 380 Interpolator/Application/src/main/java/com/example/android/common Interpolator/Application/src/main/java/com/example/android/common CustomTransition/Application/src/main/java/com/example/android/common--Interpolator/Application/src/main/java/com/example/android/common 380 Interpolator/Application/src/main/java/com/example/android/common--RevealEffectBasic/Application/src/main/java/com/example/android/common 380 BasicTransition/Application/src/main/java/com/example/android/common BasicTransition/Application/src/main/java/com/example/android/common BasicTransition/Application/src/main/java/com/example/android/common--CustomTransition/Application/src/main/java/com/example/android/common 380 BasicTransition/Application/src/main/java/com/example/android/common--RevealEffectBasic/Application/src/main/java/com/example/android/common 380 BasicTransition/Application/src/main/java/com/example/android/common--Interpolator/Application/src/main/java/com/example/android/common 380 CustomTransition/Application/src/main/java/com/example/android/customtransition CustomTransition/Application/src/main/java/com/example/android/customtransition Interpolator/Application/src/main/java/com/example/android/interpolator Interpolator/Application/src/main/java/com/example/android/interpolator CustomTransition/Application/src/main/java/com/example/android/customtransition--Interpolator/Application/src/main/java/com/example/android/interpolator 88 RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic CustomTransition/Application/src/main/java/com/example/android/customtransition--RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic 88 Interpolator/Application/src/main/java/com/example/android/interpolator--RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic 88 BasicTransition/Application/src/main/java/com/example/android/basictransition BasicTransition/Application/src/main/java/com/example/android/basictransition BasicTransition/Application/src/main/java/com/example/android/basictransition--CustomTransition/Application/src/main/java/com/example/android/customtransition 88 BasicTransition/Application/src/main/java/com/example/android/basictransition--Interpolator/Application/src/main/java/com/example/android/interpolator 88 BasicTransition/Application/src/main/java/com/example/android/basictransition--RevealEffectBasic/Application/src/main/java/com/example/android/revealeffectbasic 88

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 49 duplicates...
Size#FoldersFilesLinesCode
60 x 2 CustomTransition/Applica...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
60 x 2 Interpolator/Application...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
60 x 2 BasicTransition/Applicat...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
60 x 2 BasicTransition/Applicat...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
60 x 2 BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
60 x 2 CustomTransition/Applica...e/android/common/logger
Interpolator/Application...e/android/common/logger
LogView.java
LogView.java
25:141 (100%)
25:141 (100%)
view
46 x 2 BasicTransition/Applicat...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
46 x 2 CustomTransition/Applica...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
46 x 2 BasicTransition/Applicat...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
46 x 2 CustomTransition/Applica...e/android/common/logger
Interpolator/Application...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
46 x 2 BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
46 x 2 Interpolator/Application...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
Log.java
Log.java
26:234 (100%)
26:234 (100%)
view
42 x 2 BasicTransition/Applicat...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
42 x 2 BasicTransition/Applicat...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
42 x 2 CustomTransition/Applica...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
42 x 2 Interpolator/Application...e/android/common/logger
RevealEffectBasic/Applic...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
42 x 2 CustomTransition/Applica...e/android/common/logger
Interpolator/Application...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
42 x 2 BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
LogFragment.java
LogFragment.java
49:107 (100%)
49:107 (100%)
view
35 x 2 CustomTransition/Applica...ndroid/customtransition
Interpolator/Application...le/android/interpolator
MainActivity.java
MainActivity.java
54:108 (77%)
54:108 (77%)
view
35 x 2 Interpolator/Application...le/android/interpolator
RevealEffectBasic/Applic...droid/revealeffectbasic
MainActivity.java
MainActivity.java
54:108 (77%)
54:108 (77%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
43 x 4 RevealEffectBasic/Applic...e/android/common/logger
BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogView.java
LogView.java
LogView.java
LogView.java
48:106 
48:106 
48:106 
48:106 
view
22 x 4 RevealEffectBasic/Applic...e/android/common/logger
BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogFragment.java
LogFragment.java
LogFragment.java
LogFragment.java
56:83 
56:83 
56:83 
56:83 
view
14 x 4 RevealEffectBasic/Applic...e/android/common/logger
BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogFragment.java
LogFragment.java
LogFragment.java
LogFragment.java
86:104 
86:104 
86:104 
86:104 
view
14 x 4 RevealEffectBasic/Applic...droid/revealeffectbasic
BasicTransition/Applicat...android/basictransition
Interpolator/Application...le/android/interpolator
CustomTransition/Applica...ndroid/customtransition
MainActivity.java
MainActivity.java
MainActivity.java
MainActivity.java
75:89 
75:89 
75:89 
75:89 
view
12 x 4 RevealEffectBasic/Applic...e/android/common/logger
BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogWrapper.java
LogWrapper.java
LogWrapper.java
LogWrapper.java
52:74 
52:74 
52:74 
52:74 
view
9 x 4 RevealEffectBasic/Applic...droid/revealeffectbasic
BasicTransition/Applicat...android/basictransition
Interpolator/Application...le/android/interpolator
CustomTransition/Applica...ndroid/customtransition
MainActivity.java
MainActivity.java
MainActivity.java
MainActivity.java
93:109 
93:109 
93:109 
93:109 
view
8 x 4 RevealEffectBasic/Applic...e/android/common/logger
BasicTransition/Applicat...e/android/common/logger
Interpolator/Application...e/android/common/logger
CustomTransition/Applica...e/android/common/logger
LogView.java
LogView.java
LogView.java
LogView.java
125:134 
125:134 
125:134 
125:134 
view