firebase / codelab-friendlychat-ios
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
  • 71% duplication:
    • 1,418 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,017 duplicated lines
  • 62 duplicates
system71% (1,017 lines)
Duplication per Extension
m78% (559 lines)
swift69% (431 lines)
h34% (27 lines)
Duplication per Component (primary)
grow-ios-starter/objc-starter/FriendlyChatObjC83% (223 lines)
ios/objc/FriendlyChatObjC63% (214 lines)
grow-ios-starter/swift-starter/FriendlyChatSwift83% (182 lines)
ios/swift/FriendlyChatSwift56% (152 lines)
ios-starter/objc-starter/FriendlyChatObjC81% (149 lines)
ios-starter/swift-starter/FriendlyChatSwift71% (97 lines)
ios0% (0 lines)

Duplication Between Components (50+ lines)

G grow-ios-starter/objc-starter/FriendlyChatObjC grow-ios-starter/objc-starter/FriendlyChatObjC ios/objc/FriendlyChatObjC ios/objc/FriendlyChatObjC grow-ios-starter/objc-starter/FriendlyChatObjC--ios/objc/FriendlyChatObjC 410 ios-starter/objc-starter/FriendlyChatObjC ios-starter/objc-starter/FriendlyChatObjC grow-ios-starter/objc-starter/FriendlyChatObjC--ios-starter/objc-starter/FriendlyChatObjC 280 grow-ios-starter/swift-starter/FriendlyChatSwift grow-ios-starter/swift-starter/FriendlyChatSwift ios/swift/FriendlyChatSwift ios/swift/FriendlyChatSwift grow-ios-starter/swift-starter/FriendlyChatSwift--ios/swift/FriendlyChatSwift 294 ios-starter/swift-starter/FriendlyChatSwift ios-starter/swift-starter/FriendlyChatSwift grow-ios-starter/swift-starter/FriendlyChatSwift--ios-starter/swift-starter/FriendlyChatSwift 180 ios-starter/objc-starter/FriendlyChatObjC--ios/objc/FriendlyChatObjC 254 ios-starter/swift-starter/FriendlyChatSwift--ios/swift/FriendlyChatSwift 122

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 62 duplicates...
Size#FoldersFilesLinesCode
45 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
122:182 (28%)
144:204 (24%)
view
41 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
114:175 (26%)
137:198 (25%)
view
30 x 2 ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
20:68 (29%)
20:68 (16%)
view
27 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
221:257 (17%)
240:276 (16%)
view
23 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
187:219 (14%)
209:241 (12%)
view
23 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios-starter/objc-starter/FriendlyChatObjC
FCViewController.m
FCViewController.m
81:128 (14%)
77:124 (22%)
view
22 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
39:71 (13%)
43:75 (11%)
view
21 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
AppDelegate.m
AppDelegate.m
22:47 (58%)
39:64 (24%)
view
19 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios-starter/objc-starter/FriendlyChatObjC
AppDelegate.m
AppDelegate.m
19:43 (52%)
19:43 (73%)
view
18 x 2 ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
141:163 (17%)
214:237 (9%)
view
18 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios-starter/objc-starter/FriendlyChatObjC
FCViewController.m
FCViewController.m
39:64 (11%)
43:68 (17%)
view
18 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
SignInViewController.m
SignInViewController.m
21:44 (66%)
21:44 (94%)
view
18 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios-starter/objc-starter/FriendlyChatObjC
FCViewController.m
FCViewController.m
192:215 (11%)
141:163 (17%)
view
17 x 2 ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
AppDelegate.m
AppDelegate.m
22:43 (65%)
39:60 (19%)
view
16 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios-starter/swift-starter/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
181:204 (10%)
127:150 (17%)
view
16 x 2 grow-ios-starter/objc-starter/FriendlyChatObjC
ios/objc/FriendlyChatObjC
FCViewController.m
FCViewController.m
229:244 (10%)
251:266 (8%)
view
15 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios-starter/swift-starter/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
39:60 (9%)
40:61 (16%)
view
15 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
203:219 (9%)
222:238 (9%)
view
15 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
SignInViewController.swift
SignInViewController.swift
22:41 (100%)
22:42 (100%)
view
14 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
42:61 (9%)
43:62 (8%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
31 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
122:155 
145:178 
view
8 x 3 grow-ios-starter/swift-starter/FriendlyChatSwift
ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
FCViewController.swift
251:259 
171:179 
270:278 
view
7 x 2 grow-ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
66:74 
67:75 
view
7 x 3 grow-ios-starter/swift-starter/FriendlyChatSwift
ios-starter/swift-starter/FriendlyChatSwift
ios/swift/FriendlyChatSwift
FCViewController.swift
FCViewController.swift
FCViewController.swift
158:165 
113:120 
181:188 
view