microsoft / powerapps-tools
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 240 units with 3,251 lines of code in units (45.9% of code).
    • 1 very long units (434 lines of code)
    • 4 long units (287 lines of code)
    • 29 medium size units (883 lines of code)
    • 55 small units (824 lines of code)
    • 151 very small units (823 lines of code)
13% | 8% | 27% | 25% | 25%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs15% | 10% | 26% | 26% | 21%
ts0% | 0% | 32% | 18% | 49%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
Tools/Apps/Microsoft.PowerApps.ThemeEditor26% | 0% | 24% | 26% | 22%
Tools/Apps/Microsoft.PowerApps.Tools.AppChangeFinder0% | 55% | 23% | 9% | 11%
Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager0% | 47% | 38% | 4% | 9%
Components/PCF/AzureMaps0% | 0% | 42% | 9% | 47%
Tools/Common/PowerApps.Tools.Utilities0% | 0% | 28% | 48% | 23%
Tools/Apps/Microsoft.PowerApps.Tools.PhoneAppConverter0% | 0% | 64% | 0% | 35%
Components/PCF/ImageAttachmentControl0% | 0% | 33% | 24% | 41%
Tools/Apps/Microsoft.PowerApps.Tools.AppMerger0% | 0% | 26% | 32% | 41%
Tools/Core/Microsoft.PowerApps.Tools.PhoneToTablet0% | 0% | 0% | 89% | 10%
Components/PCF/SVGEditor0% | 0% | 0% | 45% | 54%
Components/PCF/Base64Download0% | 0% | 0% | 32% | 68%
Tools/Common/Microsoft.PowerApps.Tools.Zipper0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void GetData()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/Design/DesignDataService.cs
434 1 2
public void SearchBtnClicked()
in Tools/Apps/Microsoft.PowerApps.Tools.AppChangeFinder/ChangeFinderViewModel.cs
87 14 1
public async void BrowseBtnClicked()
in Tools/Apps/Microsoft.PowerApps.Tools.AppChangeFinder/ChangeFinderViewModel.cs
79 11 1
private List GetModifiedScreens()
in Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager/ChangeManager.cs
63 7 1
private List VerifyControlProperty()
in Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager/ChangeManager.cs
58 10 1
private onMapReady()
in Components/PCF/AzureMaps/data-set/azureMapsDataSetControl/index.ts
43 6 1
public object Convert()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/Converters/KeyToColorConverter.cs
40 7 4
public object Convert()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/Converters/PaletteNameToValue.cs
39 10 4
private string CovertToHTMLTable()
in Tools/Apps/Microsoft.PowerApps.Tools.AppChangeFinder/ChangeFinderViewModel.cs
38 5 0
private List VerifyScreenProperty()
in Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager/ChangeManager.cs
37 7 2
private void ConvertBtn_Click()
in Tools/Apps/Microsoft.PowerApps.Tools.PhoneAppConverter/MainWindow.xaml.cs
36 6 2
public init()
in Components/PCF/ImageAttachmentControl/ImageAttachmentControl/index.ts
34 3 2
private void PaletteTypeGallery_Selected()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/AddPalette.xaml.cs
34 9 2
public bool addNewPalette()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/ViewModel/MainViewModel.cs
34 3 0
public object Convert()
in Tools/Apps/Microsoft.PowerApps.ThemeEditor/Converters/KeyToFontConverter.cs
33 9 4
private void DownloadHTMLViewerBtnClicked()
in Tools/Apps/Microsoft.PowerApps.Tools.AppChangeFinder/ChangeFinderViewModel.cs
31 6 1
private void MergeBtn_Click()
in Tools/Apps/Microsoft.PowerApps.Tools.AppMerger/MainWindow.xaml.cs
31 3 2
public void CopyAppResources()
in Tools/Common/PowerApps.Tools.Utilities/Helper.cs
31 7 3
private List GetModifiedControle()
in Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager/ChangeManager.cs
31 5 1
private List GetScreenList()
in Tools/Core/Microsoft.PowerApps.Tools.AppChangeManager/ChangeManager.cs
31 3 2