facebookresearch / impact-driven-exploration
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
  • 41% duplication:
    • 6,496 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,683 duplicated lines
  • 270 duplicates
system41% (2,683 lines)
Duplication per Extension
py41% (2,683 lines)
Duplication per Component (primary)
src/algos94% (1,698 lines)
gym-minigrid/gym_minigrid/envs30% (565 lines)
src30% (326 lines)
gym-minigrid/gym_minigrid5% (76 lines)
src/core6% (18 lines)
gym-minigrid0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G gym-minigrid/gym_minigrid/envs gym-minigrid/gym_minigrid/envs gym-minigrid/gym_minigrid gym-minigrid/gym_minigrid gym-minigrid/gym_minigrid/envs--gym-minigrid/gym_minigrid 76

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 270 duplicates...
Size#FoldersFilesLinesCode
108 x 2 src/algos
src/algos
curiosity.py
ride.py
175:300 (34%)
170:296 (34%)
view
102 x 2 gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
multiroom.py
multiroom_noisytv.py
95:237 (40%)
106:248 (46%)
view
82 x 2 src/algos
src/algos
curiosity.py
no_episodic_counts.py
306:404 (26%)
284:382 (28%)
view
73 x 2 src/algos
src/algos
count.py
torchbeast.py
210:295 (33%)
184:268 (37%)
view
66 x 2 src/algos
src/algos
curiosity.py
ride.py
306:386 (21%)
304:380 (21%)
view
66 x 2 src/algos
src/algos
no_episodic_counts.py
ride.py
284:364 (22%)
304:380 (21%)
view
61 x 2 src/algos
src/algos
only_episodic_counts.py
torchbeast.py
223:293 (28%)
199:268 (31%)
view
61 x 2 src/algos
src/algos
count.py
only_episodic_counts.py
226:295 (27%)
223:293 (28%)
view
44 x 2 src/algos
src/algos
curiosity.py
no_episodic_counts.py
254:305 (14%)
231:282 (15%)
view
40 x 2 src/algos
src/algos
curiosity.py
no_episodic_counts.py
151:199 (12%)
137:185 (13%)
view
39 x 2 src/algos
src/algos
no_episodic_counts.py
ride.py
231:277 (13%)
250:296 (12%)
view
38 x 2 src/algos
src/algos
count.py
rnd.py
149:192 (17%)
185:228 (14%)
view
38 x 2 src/algos
src/algos
only_episodic_counts.py
torchbeast.py
152:198 (17%)
132:178 (19%)
view
38 x 2 src/algos
src/algos
count.py
curiosity.py
149:192 (17%)
223:265 (12%)
view
38 x 2 src/algos
src/algos
count.py
ride.py
149:192 (17%)
218:261 (12%)
view
38 x 2 src/algos
src/algos
ride.py
rnd.py
218:261 (12%)
185:228 (14%)
view
38 x 2 src/algos
src/algos
curiosity.py
rnd.py
223:265 (12%)
185:228 (14%)
view
36 x 2 gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
multiroom.py
multiroom_noisytv.py
37:92 (14%)
37:92 (16%)
view
36 x 2 src/algos
src/algos
only_episodic_counts.py
ride.py
253:293 (16%)
358:398 (11%)
view
36 x 2 src/algos
src/algos
no_episodic_counts.py
rnd.py
340:382 (12%)
305:347 (13%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
15 x 2 src
src
atari_wrappers.py
env_utils.py
0:0 
0:0 
view
8 x 2 gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
unlock.py
unlockpickup.py
0:0 
0:0 
view
10 x 2 src
src
models.py
models.py
0:0 
0:0 
view
7 x 2 gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
multiroom.py
multiroom_noisytv.py
0:0 
0:0 
view
7 x 2 src
src
models.py
models.py
0:0 
0:0 
view
6 x 4 gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
gym-minigrid/gym_minigrid/envs
blockedunlockpickup.py
obstructedmaze.py
unlockpickup.py
keycorridor.py
0:0 
0:0 
0:0 
0:0 
view
6 x 2 src
src
models.py
models.py
0:0 
0:0 
view
7 x 2 src
src
atari_wrappers.py
env_utils.py
0:0 
0:0 
view