microsoft / QuantumLibraries
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 274 units with 2,955 lines of code in units (48.7% of code).
    • 1 very long units (111 lines of code)
    • 4 long units (299 lines of code)
    • 24 medium size units (664 lines of code)
    • 60 small units (872 lines of code)
    • 185 very small units (1,009 lines of code)
3% | 10% | 22% | 29% | 34%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs3% | 10% | 23% | 29% | 32%
py0% | 0% | 0% | 17% | 82%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Chemistry/src4% | 8% | 23% | 31% | 31%
Standard/src0% | 19% | 23% | 20% | 35%
Visualization/src0% | 0% | 26% | 33% | 39%
Build0% | 0% | 0% | 86% | 13%
Python/qsharp-chemistry0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
internal static ElectronicStructureProblem DeserializeSingleProblem()
in Chemistry/src/DataModel/Serialization/LegacyFormats/LiQuiD.cs
111 13 1
private long SampleUsingBTPE()
in Standard/src/Emulation/Math.cs
98 20 0
private static IEnumerable ToTwoBodySpinOrbitalTerms()
in Chemistry/src/DataModel/OrbitalIntegral/OrbitalIntegralExtensions.cs
81 28 3
public static IEnumerable Deserialize()
in Chemistry/src/DataModel/Serialization/LegacyFormats/FciDump.cs
66 4 1
public static List ToJordanWignerPauliTerms()
in Chemistry/src/DataModel/Fermion/JordanWignerEncoding.cs
54 9 3
private static List TwoLevelDecompose()
in Standard/src/Synthesis/UnitaryDecomposition.cs
50 9 2
public static UnitaryCCWavefunction CreateAllUCCSDSingletExcitations()
in Chemistry/src/DataModel/Fermion/Wavefunction/WavefunctionExtensions.cs
45 11 2
public static LadderSequence ToLadderSequence()
in Chemistry/src/DataModel/LadderOperator/LadderOperatorExtensions.cs
43 6 2
public static void Serialize()
in Chemistry/src/DataModel/Serialization/LegacyFormats/FciDump.cs
41 3 2
public void NormalizeToIndexOrder()
in Chemistry/src/DataModel/LadderOperator/IndexOrderedSequence.cs
39 8 0
public static()
in Chemistry/src/DataModel/QSharpFormat/QSharpFormatPauliHamiltonian.cs
28 2 3
public LadderSequence Multiply()
in Chemistry/src/DataModel/LadderOperator/LadderSequence.cs
27 5 2
internal static TValue GetValueOrDefault()
in Chemistry/src/DataModel/Extensions.cs
25 6 3
public static void Serialize()
in Chemistry/src/DataModel/Serialization/Broombridge/BroombridgeSerializer.cs
25 1 2
public static void SampleWorkflow()
in Chemistry/src/DataModel/Workflows/WorkFlows.cs
25 2 3
bool IsSelf()
in Standard/src/Diagnostics/Emulation/AllowOperationCalls.cs
25 4 1
public static IEnumerable Deserialize()
in Chemistry/src/DataModel/Serialization/Broombridge/BroombridgeSerializer.cs
24 1 1
public override object ReadJson()
in Chemistry/src/DataModel/Serialization/JsonConverters/FermionWavefunctionJsonConverter.cs
24 5 4
internal static void Save()
in Chemistry/src/Tools/Convert.cs
24 5 3
public static IEnumerable ToHermitianFermionTerms()
in Chemistry/src/DataModel/OrbitalIntegral/OrbitalIntegralExtensions.cs
23 4 3