microsoft / MIMPowerShellConnectors
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
  • 39% duplication:
    • 5,976 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,352 duplicated lines
  • 229 duplicates
system39% (2,352 lines)
Duplication per Extension
psm153% (1,437 lines)
ps127% (915 lines)
Duplication per Component (primary)
FlatFileConnector66% (759 lines)
LyncConnector/Scripts20% (661 lines)
ExchangeConnector50% (608 lines)
Modules94% (324 lines)
LyncConnector/EventLogConfig0% (0 lines)

Duplication Between Components (50+ lines)

G ExchangeConnector ExchangeConnector FlatFileConnector FlatFileConnector ExchangeConnector--FlatFileConnector 1202 Modules Modules ExchangeConnector--Modules 670 FlatFileConnector--Modules 660

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 229 duplicates...
Size#FoldersFilesLinesCode
391 x 2 src/ExchangeConnector
src/FlatFileConnector
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
135:570 (62%)
2:437 (81%)
view
85 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
101:193 (17%)
3:92 (24%)
view
85 x 2 src/ExchangeConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
234:326 (13%)
3:92 (24%)
view
76 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
210:293 (15%)
92:171 (22%)
view
76 x 2 src/ExchangeConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
343:426 (12%)
92:171 (22%)
view
66 x 2 src/ExchangeConnector
src/FlatFileConnector
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
623:698 (10%)
466:541 (13%)
view
54 x 2 src/ExchangeConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
594:652 (8%)
271:328 (15%)
view
31 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
300:334 (6%)
178:210 (9%)
view
31 x 2 src/ExchangeConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
433:467 (4%)
178:210 (9%)
view
29 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
466:495 (6%)
299:328 (8%)
view
22 x 2 src/ExchangeConnector
src/ExchangeConnector
GetHierarchy.ps1
GetSchema.ps1
27:50 (32%)
21:43 (33%)
view
22 x 2 src/ExchangeConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
488:513 (3%)
230:252 (6%)
view
22 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
355:380 (4%)
230:252 (6%)
view
21 x 2 src/ExchangeConnector
src/FlatFileConnector
GetPartition.ps1
GetSchema.ps1
15:39 (33%)
29:53 (17%)
view
21 x 2 src/ExchangeConnector
src/FlatFileConnector
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
592:616 (3%)
436:459 (4%)
view
21 x 2 src/LyncConnector/Scripts
src/LyncConnector/Scripts
3. SchemaScript-Lync.ps1
4. PartitionScript-Lync.ps1
8:33 (43%)
8:33 (20%)
view
20 x 2 src/FlatFileConnector
src/Modules
xADSyncPSConnectorModule.psm1
xADSyncPSConnectorModule.psm1
437:459 (4%)
271:292 (5%)
view
19 x 2 src/FlatFileConnector
src/FlatFileConnector
BeginImport.ps1
GetPartition.ps1
51:70 (18%)
42:61 (20%)
view
17 x 2 src/LyncConnector/Scripts
src/LyncConnector/Scripts
4. PartitionScript-Lync.ps1
5. HierarchyScript-Lync.ps1
13:33 (16%)
16:36 (19%)
view
17 x 2 src/LyncConnector/Scripts
src/LyncConnector/Scripts
3. SchemaScript-Lync.ps1
5. HierarchyScript-Lync.ps1
13:33 (35%)
16:36 (19%)
view