google / site-kit-wp
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 2,053 units with 34,073 lines of code in units (40.4% of code).
    • 47 very long units (7,705 lines of code)
    • 93 long units (6,282 lines of code)
    • 225 medium size units (6,847 lines of code)
    • 471 small units (6,726 lines of code)
    • 1,217 very small units (6,513 lines of code)
22% | 18% | 20% | 19% | 19%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js27% | 21% | 18% | 16% | 17%
php14% | 14% | 23% | 25% | 22%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
assets/js/modules32% | 24% | 16% | 12% | 13%
assets/js/components33% | 22% | 22% | 10% | 10%
includes/Modules17% | 23% | 22% | 21% | 14%
includes/Core/Modules29% | 5% | 23% | 23% | 17%
includes/Core/Assets44% | 10% | 6% | 26% | 12%
stories/utils69% | 0% | 22% | 7% | 0%
includes/Core/Authentication6% | 14% | 27% | 26% | 24%
includes36% | 13% | 0% | 30% | 19%
assets/js/googlesitekit4% | 10% | 10% | 37% | 37%
includes/Core/REST_API47% | 0% | 21% | 14% | 17%
includes/Core/Admin20% | 10% | 11% | 36% | 20%
includes/Core/Util0% | 10% | 34% | 31% | 23%
includes/Modules/Analytics0% | 26% | 31% | 11% | 30%
includes/Core/User_Surveys0% | 89% | 0% | 0% | 10%
includes/Core/Notifications0% | 51% | 11% | 23% | 13%
packages/eslint-plugin/rules0% | 71% | 19% | 0% | 9%
assets/js/util0% | 10% | 30% | 25% | 33%
includes/Core/Admin_Bar0% | 0% | 61% | 28% | 9%
includes/Core/Permissions0% | 0% | 73% | 11% | 14%
packages/eslint-plugin0% | 0% | 78% | 10% | 10%
includes/Modules/AdSense0% | 0% | 30% | 55% | 13%
stories0% | 0% | 21% | 24% | 54%
includes/Core/Tracking0% | 0% | 47% | 13% | 38%
includes/Core/Dismissals0% | 0% | 37% | 33% | 29%
includes/Core/Feature_Tours0% | 0% | 46% | 18% | 35%
includes/Core/Storage0% | 0% | 5% | 21% | 72%
includes/Modules/Optimize0% | 0% | 34% | 19% | 46%
assets/js/analytics-advanced-tracking0% | 0% | 54% | 28% | 17%
assets/js/feature-tours0% | 0% | 13% | 24% | 62%
assets/js/hooks0% | 0% | 34% | 40% | 24%
includes/Modules/Tag_Manager0% | 0% | 0% | 68% | 31%
ROOT0% | 0% | 0% | 75% | 25%
includes/Modules/Idea_Hub0% | 0% | 0% | 40% | 60%
includes/Core/Tags0% | 0% | 0% | 29% | 70%
includes/Core/CLI0% | 0% | 0% | 36% | 63%
includes/Modules/Search_Console0% | 0% | 0% | 50% | 50%
includes/Modules/Analytics_40% | 0% | 0% | 0% | 100%
includes/Modules/Subscribe_With_Google0% | 0% | 0% | 0% | 100%
assets/js0% | 0% | 0% | 0% | 100%
includes/Modules/PageSpeed_Insights0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
export default function UserDimensionsPieChart()
in assets/js/modules/analytics/components/dashboard/DashboardAllTrafficWidget/UserDimensionsPieChart.js
510 60 1
export default function SetupMain()
in assets/js/modules/adsense/components/setup/SetupMain.js
350 47 1
private function get_assets()
in includes/Core/Assets/Assets.php
333 6 0
export default function SettingsView()
in assets/js/modules/analytics/components/settings/SettingsView.js
316 32 0
export default function DashboardPageSpeed()
in assets/js/modules/pagespeed-insights/components/dashboard/DashboardPageSpeed.js
282 23 0
private function get_rest_routes()
in includes/Core/Modules/Modules.php
275 27 0
protected function create_data_request()
in includes/Modules/Analytics.php
275 60 1
function SetupUsingProxy()
in assets/js/components/setup/SetupUsingProxy.js
241 21 0
export default function PostSearcherAutoSuggest()
in assets/js/components/PostSearcherAutoSuggest.js
208 31 12
export default function AdSenseConnectCTA()
in assets/js/modules/adsense/components/common/AdSenseConnectCTA.js
198 8 0
export function generateReportBasedWidgetStories()
in stories/utils/generate-widget-stories.js
177 22 1
export default function UserInputKeywords()
in assets/js/components/user-input/UserInputKeywords.js
169 22 4
export default function GoogleChart()
in assets/js/components/GoogleChart.js
164 24 1
render()
in assets/js/components/legacy-setup/SetupUsingGCP.js
161 7 0
export default function UserMenu()
in assets/js/components/UserMenu.js
157 11 0
function DashboardGoalsWidget()
in assets/js/modules/analytics/components/dashboard/DashboardGoalsWidget.js
146 17 2
public function register()
in includes/Core/Authentication/Authentication.php
141 16 0
export default function PropertySelectIncludingGA4()
in assets/js/modules/analytics/components/common/PropertySelectIncludingGA4.js
139 24 0
function DashboardSearchVisitorsWidget()
in assets/js/modules/analytics/components/dashboard/DashboardSearchVisitorsWidget.js
138 19 1
export default function SetupForm()
in assets/js/modules/tagmanager/components/setup/SetupForm.js
137 14 1