microsoft / checkedc-lnt
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
  • 5% duplication:
    • 16,195 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 879 duplicated lines
  • 65 duplicates
system5% (879 lines)
Duplication per Extension
py6% (491 lines)
html8% (236 lines)
js2% (128 lines)
cpp2% (12 lines)
css2% (12 lines)
Duplication per Component (primary)
lnt/server/ui4% (424 lines)
lnt/server/db14% (263 lines)
lnt/testing/profile11% (115 lines)
lnt/lnttool7% (56 lines)
lnt/server/reporting1% (12 lines)
lnt/testing7% (9 lines)
ROOT0% (0 lines)
deployment0% (0 lines)
lnt0% (0 lines)
lnt/formats0% (0 lines)
lnt/server0% (0 lines)
lnt/testing/util0% (0 lines)
lnt/util0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 65 duplicates...
Size#FoldersFilesLinesCode
21 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_new_regressions.html
v4_regression_detail.html
263:287 (7%)
198:222 (9%)
view
18 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_graph.html
v4_regression_detail.html
9:26 (7%)
12:29 (7%)
view
15 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_new_regressions.html
v4_regression_detail.html
16:31 (5%)
18:36 (6%)
view
13 x 2 lnt/server/db/migrations
lnt/server/db
upgrade_7_to_8.py
testsuitedb.py
39:51 (24%)
474:486 (2%)
view
13 x 2 lnt/testing/profile
lnt/testing/profile
profilev2impl.py
profilev2impl.py
348:363 (3%)
396:413 (3%)
view
13 x 2 lnt/server/ui/static
lnt/server/ui/static
lnt_profile.js
lnt_profile.js
1240:1253 (1%)
1275:1288 (1%)
view
13 x 2 lnt/server/db/migrations
lnt/server/db
upgrade_0_to_1.py
testsuitedb.py
217:232 (6%)
260:283 (2%)
view
12 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_graph.html
v4_new_regressions.html
15:26 (5%)
16:27 (4%)
view
11 x 2 lnt/server/db
lnt/server/db
testsuite.py
testsuite.py
96:115 (10%)
152:171 (10%)
view
11 x 2 lnt/server/db/migrations
lnt/server/db
upgrade_0_to_1.py
testsuite.py
62:72 (5%)
174:195 (10%)
view
10 x 2 lnt/server/db/migrations
lnt/server/db/migrations
upgrade_2_to_3.py
upgrade_7_to_8.py
34:43 (32%)
43:52 (18%)
view
10 x 2 lnt/server/db
lnt/server/ui
fieldchange.py
regression_views.py
103:112 (10%)
445:454 (2%)
view
10 x 2 lnt/server/ui/static
lnt/server/ui/static
lnt_profile.js
lnt_profile.js
652:661 (<1%)
671:680 (<1%)
view
10 x 2 lnt/server/ui
lnt/server/ui
api.py
api.py
166:175 (5%)
219:228 (5%)
view
10 x 2 lnt/server/db/migrations
lnt/server/db
upgrade_0_to_1.py
testsuite.py
25:34 (4%)
56:72 (9%)
view
10 x 2 lnt/testing/profile
lnt/testing/profile
profilev2impl.py
profilev2impl.py
534:545 (2%)
603:614 (2%)
view
9 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_new_regressions.html
v4_regression_detail.html
290:299 (3%)
224:233 (3%)
view
9 x 2 lnt/server/db/migrations
lnt/testing
upgrade_1_to_2.py
__init__.py
64:73 (10%)
200:209 (7%)
view
9 x 2 lnt/server/ui/templates
lnt/server/ui/templates
v4_new_regressions.html
v4_summary_report.html
140:148 (3%)
123:131 (4%)
view
9 x 2 lnt/testing/profile
lnt/testing/profile
profilev2impl.py
profilev2impl.py
301:311 (2%)
348:358 (2%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
13 x 2 lnt/server/ui/static
lnt/server/ui/static
View2D.js
View2D.js
478:494 
496:512 
view
8 x 2 lnt/server/ui/static
lnt/server/ui/static
View2D.js
View2D.js
542:552 
574:584 
view