google / transitfeed
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
  • 1% duplication:
    • 11,458 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 132 duplicated lines
  • 11 duplicates
system1% (132 lines)
Duplication per Extension
py1% (104 lines)
proto3% (28 lines)
Duplication per Component (primary)
transitfeed1% (82 lines)
misc2% (38 lines)
ROOT<1% (12 lines)
extensions0% (0 lines)
extensions/googletransit0% (0 lines)
extensions/googletransit/pybcp470% (0 lines)
gtfsscheduleviewer0% (0 lines)
gtfsscheduleviewer/files0% (0 lines)
Longest Duplicates
The list of 11 longest duplicates.
See data for all 11 duplicates...
Size#FoldersFilesLinesCode
14 x 2 misc
misc
proto
csvspec.proto
gtfs_validation.proto
2:17 (3%)
2:17 (3%)
view
10 x 2 misc
transitfeed
traceplus.py
util.py
29:38 (22%)
84:93 (2%)
view
9 x 2 transitfeed
transitfeed
fareattribute.py
farerule.py
78:89 (8%)
57:68 (19%)
view
8 x 2 transitfeed
transitfeed
shapepoint.py
stop.py
45:52 (10%)
60:69 (4%)
view
7 x 2 transitfeed
transitfeed
frequency.py
stop.py
31:37 (12%)
60:68 (4%)
view
7 x 2 transitfeed
transitfeed
farerule.py
serviceperiod.py
60:68 (14%)
247:255 (3%)
view
7 x 2 transitfeed
transitfeed
frequency.py
shapepoint.py
31:37 (12%)
45:51 (9%)
view
7 x 2 transitfeed
transitfeed
fareattribute.py
serviceperiod.py
81:89 (6%)
247:255 (3%)
view
6 x 2 ROOT
ROOT
merge.py
merge.py
532:538 (<1%)
625:631 (<1%)
view
6 x 2 transitfeed
transitfeed
loader.py
loader.py
188:193 (1%)
300:305 (1%)
view
6 x 2 transitfeed
transitfeed
loader.py
loader.py
235:240 (1%)
244:249 (1%)
view