GerritCodeReview / plugins_code-owners
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
  • 33% duplication:
    • 41,981 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 14,087 duplicated lines
  • 7,016 duplicates
system33% (14,087 lines)
Duplication per Extension
java34% (14,021 lines)
js3% (66 lines)
Duplication per Component (primary)
javatests/com/google/gerrit/plugins/codeowners/acceptance53% (7,370 lines)
javatests/com/google/gerrit/plugins/codeowners/backend41% (5,841 lines)
java/com/google/gerrit/plugins/codeowners/backend5% (348 lines)
javatests/com/google/gerrit/plugins/codeowners/restapi27% (192 lines)
java/com/google/gerrit/plugins/codeowners/restapi4% (99 lines)
java/com/google/gerrit/plugins/codeowners/validation9% (77 lines)
ui3% (66 lines)
java/com/google/gerrit/plugins/codeowners/api8% (66 lines)
java/com/google/gerrit/plugins/codeowners/acceptance5% (28 lines)
proto0% (0 lines)
javatests/com/google/gerrit/plugins/codeowners/util0% (0 lines)
java/com/google/gerrit/plugins/codeowners/testing0% (0 lines)
java/com/google/gerrit/plugins/codeowners/metrics0% (0 lines)
java/com/google/gerrit/plugins/codeowners/util0% (0 lines)
java/com/google/gerrit/plugins/codeowners/common0% (0 lines)
java/com/google/gerrit/plugins/codeowners/module0% (0 lines)

Duplication Between Components (50+ lines)

G javatests/com/google/gerrit/plugins/codeowners/acceptance javatests/com/google/gerrit/plugins/codeowners/acceptance javatests/com/google/gerrit/plugins/codeowners/backend javatests/com/google/gerrit/plugins/codeowners/backend javatests/com/google/gerrit/plugins/codeowners/acceptance--javatests/com/google/gerrit/plugins/codeowners/backend 1828 javatests/com/google/gerrit/plugins/codeowners/restapi javatests/com/google/gerrit/plugins/codeowners/restapi javatests/com/google/gerrit/plugins/codeowners/acceptance--javatests/com/google/gerrit/plugins/codeowners/restapi 198 javatests/com/google/gerrit/plugins/codeowners/backend--javatests/com/google/gerrit/plugins/codeowners/restapi 154

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 7,016 duplicates...
Size#FoldersFilesLinesCode
54 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
AbstractGetCodeOwnersForPathIT.java
AbstractGetCodeOwnersForPathIT.java
694:757 (4%)
813:876 (4%)
view
54 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnerBranchConfigIT.java
GetCodeOwnerProjectConfigIT.java
246:322 (25%)
274:350 (23%)
view
51 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetOwnedPathsIT.java
GetOwnedPathsIT.java
527:590 (8%)
643:706 (8%)
view
51 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetOwnedPathsIT.java
GetOwnedPathsIT.java
207:270 (8%)
643:706 (8%)
view
51 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetOwnedPathsIT.java
GetOwnedPathsIT.java
207:270 (8%)
527:590 (8%)
view
36 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
CodeOwnersPluginProjectConfigSnapshot...
CodeOwnersPluginProjectConfigSnapshot...
212:249 (2%)
283:320 (2%)
view
35 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
1900:1937 (1%)
1996:2033 (1%)
view
34 x 2 javatests/com/google/ger...gins/codeowners/backend
javatests/com/google/ger...gins/codeowners/backend
CodeOwnerApprovalCheckTest.java
CodeOwnerApprovalCheckTest.java
1243:1284 (2%)
1295:1336 (2%)
view
34 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
AbstractGetCodeOwnersForPathIT.java
AbstractGetCodeOwnersForPathIT.java
548:590 (2%)
691:733 (2%)
view
34 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnersForPathInBranchIT.java
GetCodeOwnersForPathInChangeIT.java
86:128 (15%)
109:150 (5%)
view
33 x 2 javatests/com/google/ger...gins/codeowners/backend
javatests/com/google/ger...gins/codeowners/backend
PathCodeOwnersTest.java
PathCodeOwnersTest.java
1145:1188 (1%)
1836:1879 (1%)
view
33 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
OnCodeOwnerApprovalIT.java
OnCodeOwnerApprovalIT.java
129:166 (3%)
179:216 (3%)
view
33 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
AbstractGetCodeOwnersForPathIT.java
AbstractGetCodeOwnersForPathIT.java
551:590 (2%)
813:852 (2%)
view
32 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
1288:1323 (1%)
1353:1388 (1%)
view
32 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
CodeOwnersPluginProjectConfigSnapshot...
CodeOwnersPluginProjectConfigSnapshot...
466:499 (1%)
531:564 (1%)
view
29 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnerStatusIT.java
GetCodeOwnerStatusIT.java
227:263 (6%)
378:414 (6%)
view
29 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
AbstractGetCodeOwnersForPathIT.java
AbstractGetCodeOwnersForPathIT.java
1002:1038 (2%)
1071:1107 (2%)
view
29 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnerStatusIT.java
GetCodeOwnerStatusIT.java
88:124 (6%)
227:263 (6%)
view
29 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnerStatusIT.java
GetCodeOwnerStatusIT.java
88:124 (6%)
378:414 (6%)
view
28 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
GetCodeOwnerConfigFilesIT.java
GetCodeOwnerConfigFilesIT.java
67:97 (8%)
366:396 (8%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 32 unit duplicates...
Size#FoldersFilesLinesCode
43 x 2 javatests/com/google/ger...gins/codeowners/backend
javatests/com/google/ger...gins/codeowners/backend
PathCodeOwnersTest.java
PathCodeOwnersTest.java
2202:2256 
2259:2313 
view
34 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
1237:1275 
1352:1390 
view
17 x 2 javatests/com/google/ger...gins/codeowners/backend
javatests/com/google/ger...gins/codeowners/backend
CodeOwnerApprovalCheckWithSelfApprova...
CodeOwnerApprovalCheckWithSelfApprova...
209:232 
261:284 
view
14 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
CodeOwnersPluginProjectConfigSnapshot...
CodeOwnersPluginProjectConfigSnapshot...
1200:1214 
1218:1232 
view
13 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
461:474 
477:490 
view
13 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
695:708 
724:737 
view
12 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
401:413 
416:428 
view
12 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
638:650 
653:665 
view
12 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
913:925 
982:994 
view
12 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
2637:2649 
2651:2663 
view
12 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CheckCodeOwnerConfigFilesIT.java
CheckCodeOwnerConfigFilesIT.java
276:289 
292:305 
view
11 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
StatusConfigTest.java
StatusConfigTest.java
151:162 
165:176 
view
11 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
144:157 
161:174 
view
11 x 2 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorIT.java
CodeOwnerConfigValidatorIT.java
2597:2608 
2610:2621 
view
10 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
940:950 
953:963 
view
10 x 3 javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
javatests/com/google/ger...deowners/acceptance/api
CodeOwnerConfigValidatorOnSubmitIT.java
CodeOwnerConfigValidatorIT.java
CheckCodeOwnerConfigFilesInRevisionIT...
366:377 
2559:2570 
514:525 
view
10 x 2 java/com/google/gerrit/plugins/codeowners/api/impl
java/com/google/gerrit/plugins/codeowners/api/impl
CodeOwnerConfigsFactory.java
CodeOwnersFactory.java
81:91 
106:116 
view
9 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
889:898 
901:910 
view
9 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
1160:1169 
1184:1193 
view
8 x 2 javatests/com/google/ger...deowners/backend/config
javatests/com/google/ger...deowners/backend/config
GeneralConfigTest.java
GeneralConfigTest.java
1115:1123 
1126:1134 
view