microsoft / dicom-server
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
  • 27% duplication:
    • 21,011 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,788 duplicated lines
  • 7,800 duplicates
system27% (5,788 lines)
Duplication per Extension
yaml90% (4,056 lines)
cs8% (1,170 lines)
ps130% (301 lines)
yml22% (157 lines)
MD62% (88 lines)
js5% (16 lines)
Duplication per Component (primary)
swagger/v1-prerelease90% (4,056 lines)
src/Microsoft.Health.Dicom.SqlServer25% (556 lines)
tools/scale-testing26% (320 lines)
src/Microsoft.Health.Dicom.Core3% (181 lines)
build26% (157 lines)
src/Microsoft.Health.Dicom.Api6% (128 lines)
release/scripts16% (123 lines)
tools/dicom-web-electron20% (104 lines)
src/Microsoft.Health.Dicom.Client9% (81 lines)
converter/dicom-cast2% (68 lines)
src/Microsoft.Health.Dicom.Operations.Client5% (7 lines)
src/Microsoft.Health.Dicom.Operations1% (7 lines)
ROOT0% (0 lines)
docker0% (0 lines)
src/Microsoft.Health.Dicom.Blob0% (0 lines)
src/Microsoft.Health.Dicom.Functions0% (0 lines)
src/Microsoft.Health.Dicom.Web0% (0 lines)

Duplication Between Components (50+ lines)

G src/Microsoft.Health.Dicom.Client src/Microsoft.Health.Dicom.Client src/Microsoft.Health.Dicom.Core src/Microsoft.Health.Dicom.Core src/Microsoft.Health.Dicom.Client--src/Microsoft.Health.Dicom.Core 114 tools/scale-testing tools/scale-testing src/Microsoft.Health.Dicom.Core--tools/scale-testing 56

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,800 duplicates...
Size#FoldersFilesLinesCode
64 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
1385:1448 (1%)
1470:1533 (1%)
view
62 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3009:3070 (1%)
3072:3133 (1%)
view
59 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
1245:1303 (1%)
1305:1363 (1%)
view
59 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3651:3709 (1%)
3711:3769 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3135:3191 (1%)
3193:3249 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2363:2419 (1%)
2845:2901 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2363:2419 (1%)
2787:2843 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2363:2419 (1%)
2421:2477 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2787:2843 (1%)
2845:2901 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2421:2477 (1%)
2845:2901 (1%)
view
57 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2421:2477 (1%)
2787:2843 (1%)
view
56 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
206:261 (1%)
334:389 (1%)
view
55 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
1751:1805 (1%)
1859:1913 (1%)
view
54 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3441:3494 (1%)
3496:3549 (1%)
view
54 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3771:3824 (1%)
3826:3879 (1%)
view
52 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2479:2530 (1%)
2532:2583 (1%)
view
52 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2161:2212 (1%)
2214:2265 (1%)
view
52 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2903:2954 (1%)
2956:3007 (1%)
view
52 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
3885:3936 (1%)
3942:3993 (1%)
view
52 x 2 swagger/v1-prerelease
swagger/v1-prerelease
swagger.yaml
swagger.yaml
2426:2477 (1%)
3019:3070 (1%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
9 x 2 src/Microsoft.Health.Dicom.Core/Features/Model
tools/scale-testing/Common
InstanceIdentifier.cs
InstanceIdentifier.cs
39:49 
35:45 
view
8 x 3 converter/dicom-cast/src...ransaction/ImagingStudy
converter/dicom-cast/src...ransaction/ImagingStudy
converter/dicom-cast/src...ransaction/ImagingStudy
ImagingStudyInstancePropertySynchroni...
ImagingStudyPropertySynchronizer.cs
ImagingStudySeriesPropertySynchronize...
29:38 
34:43 
32:41 
view
8 x 2 src/Microsoft.Health.Dicom.SqlServer/Registration
src/Microsoft.Health.Dicom.SqlServer/Registration
DicomSqlServerRegistrationExtensions.cs
DicomSqlServerRegistrationExtensions.cs
157:166 
168:177 
view
7 x 2 src/Microsoft.Health.Dic...ns.Client/Serialization
src/Microsoft.Health.Dic...perations/Serialization
MessageSerializerSettingsFactory.cs
MessageSerializerSettingsFactory.cs
14:23 
14:23 
view
7 x 2 src/Microsoft.Health.Dicom.SqlServer/Registration
src/Microsoft.Health.Dicom.SqlServer/Registration
DicomSqlServerRegistrationExtensions.cs
DicomSqlServerRegistrationExtensions.cs
115:123 
125:133 
view
6 x 5 src/Microsoft.Health.Dicom.Api/Controllers
src/Microsoft.Health.Dicom.Api/Controllers
src/Microsoft.Health.Dicom.Api/Controllers
src/Microsoft.Health.Dicom.Api/Controllers
src/Microsoft.Health.Dicom.Api/Controllers
ChangeFeedController.cs
DeleteController.cs
QueryController.cs
RetrieveController.cs
StoreController.cs
32:39 
31:38 
38:45 
41:48 
34:41 
view
6 x 2 src/Microsoft.Health.Dic...qlServer/Features/Query
src/Microsoft.Health.Dic...qlServer/Features/Query
SqlQueryGenerator.cs
SqlQueryGenerator.cs
143:149 
151:157 
view