microsoft / WindowsProtocolTestSuites
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 25,818 units with 624,721 lines of code in units (62.0% of code).
    • 736 very long units (165,731 lines of code)
    • 2,383 long units (156,653 lines of code)
    • 5,066 medium size units (157,398 lines of code)
    • 5,126 small units (77,960 lines of code)
    • 12,507 very small units (66,979 lines of code)
26% | 25% | 25% | 12% | 10%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs26% | 25% | 25% | 12% | 10%
tsx65% | 9% | 18% | 5% | <1%
js12% | 10% | 31% | 25% | 20%
c10% | 0% | 21% | 63% | 4%
cpp0% | 29% | 46% | 15% | 7%
java0% | 22% | 62% | 4% | 10%
py0% | 30% | 50% | 5% | 13%
ts0% | 0% | 20% | 32% | 46%
h0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
TestSuites33% | 29% | 22% | 8% | 5%
ProtoSDK7% | 14% | 32% | 21% | 23%
ProtocolTestManager19% | 17% | 29% | 19% | 14%
MessageAnalyzerLibrary0% | 7% | 44% | 23% | 24%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void SearchOpReq()
in TestSuites/ADFamily/src/Adapter/MS-ADTS-LDAP/AD_LDAPModelAdapter.cs
2773 439 6
public void ValidateConstructedAttributes()
in TestSuites/ADFamily/src/TestSuite/MS-ADTS-Schema/ConstructedAttributes.cs
2590 389 0
public void ValidateExtendedRights()
in TestSuites/ADFamily/src/TestSuite/MS-ADTS-Schema/ExtendedRights.cs
1560 55 0
public void ValidateReadAccessControl()
in TestSuites/ADFamily/src/Adapter/MS-ADTS-Security/MS_ADTS_Security_RequirementsValidator.cs
1369 158 1
private void VerifyNetlogonValidationSamInfo4()
in TestSuites/ADFamily/src/Adapter/MS-NRPC/ServerRoleCaptureCode.cs
1243 120 11
public void ModifyOperation()
in TestSuites/ADFamily/src/Adapter/MS-ADTS-LDAP/AD_LDAPModelAdapter.cs
1145 235 7
public void ValidateLDSConstructedAttributes()
in TestSuites/ADFamily/src/TestSuite/MS-ADTS-Schema/ConstructedAttributes.cs
1005 144 0
public void AddOperation()
in TestSuites/ADFamily/src/Adapter/MS-ADTS-LDAP/AD_LDAPModelAdapter.cs
937 159 8
public void ValidateSchemaModifications()
in TestSuites/ADFamily/src/TestSuite/MS-ADTS-Schema/SchemaModification.cs
896 112 0
private void VerifyDomainControllerInfo()
in TestSuites/ADFamily/src/Adapter/MS-NRPC/ServerRoleCaptureCode.cs
859 70 3
public void ValidateLDSSchemaModifications()
in TestSuites/ADFamily/src/TestSuite/MS-ADTS-Schema/SchemaModification.cs
841 111 0
private void VerifyNetlogonValidationSamInfo2()
in TestSuites/ADFamily/src/Adapter/MS-NRPC/ServerRoleCaptureCode.cs
817 85 11
private void VerifyNetrLogonGetDomainInfoResponse()
in TestSuites/ADFamily/src/Adapter/MS-NRPC/ServerRoleCaptureCode.cs
732 84 8
public void ModifyDNOperation()
in TestSuites/ADFamily/src/Adapter/MS-ADTS-LDAP/AD_LDAPModelAdapter.cs
720 126 9
public ErrorStatus SetInformationPolicy2()
in TestSuites/ADFamily/src/Adapter/MS-LSAD/PolicyObjects.cs
704 79 2
public ErrorStatus QueryInformationPolicy2()
in TestSuites/ADFamily/src/Adapter/MS-LSAD/PolicyObjects.cs
689 103 3
public ErrorStatus QueryInformationPolicy()
in TestSuites/ADFamily/src/Adapter/MS-LSAD/PolicyObjects.cs
689 103 3
public ErrorStatus SetInformationPolicy()
in TestSuites/ADFamily/src/Adapter/MS-LSAD/PolicyObjects.cs
652 82 2
public ErrorStatus SetTrustedDomainInfo()
in TestSuites/ADFamily/src/Adapter/MS-LSAD/TrustedDomainObjects.cs
641 80 9
public override void Initialize()
in TestSuites/ADFamily/src/MS-FRS2/Adapter/FRS2ManagedAdapter.cs
606 58 1