freertos / Lab-Project-FreeRTOS-MCUBoot
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 33 units with 496 lines of code in units (17.9% of code).
    • 1 very long units (157 lines of code)
    • 0 long units (0 lines of code)
    • 4 medium size units (132 lines of code)
    • 5 small units (71 lines of code)
    • 23 very small units (136 lines of code)
31% | 0% | 26% | 14% | 27%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
c31% | 0% | 26% | 14% | 27%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
proj/espressif/esp32/app/main48% | 0% | 33% | 8% | 9%
port/espressif/src0% | 0% | 12% | 26% | 60%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
IRAM_ATTR static void start_cpu()
in proj/espressif/esp32/app/main/start.c
157 16 1
static void start_other_core()
in proj/espressif/esp32/app/main/start.c
39 6 1
IRAM_ATTR static int map_rom_segments()
in proj/espressif/esp32/app/main/start.c
38 2 1
void IRAM_ATTR call_start_cpu1()
in proj/espressif/esp32/app/main/start.c
33 2 1
static uint32_t readline()
in port/espressif/src/boot_serial_port.c
22 5 2
static void configure_mcumgr_uart()
in port/espressif/src/boot_serial_port.c
20 1 1
void app_main()
in proj/espressif/esp32/app/main/main.c
15 2 1
uint16_t crc16_port_ccitt()
in port/espressif/src/crc16_port.c
14 4 3
bool boot_port_serial_detect_boot_pin()
in port/espressif/src/boot_serial_port.c
11 2 1
bool bReadImageHeader()
in proj/espressif/esp32/app/main/main.c
11 2 1
static void boot_port_serial_write()
in port/espressif/src/boot_serial_port.c
10 2 2
int base64_port_encode()
in port/espressif/src/base64_port.c
9 2 5
int base64_port_decode()
in port/espressif/src/base64_port.c
9 2 5
static void intr_matrix_clear()
in proj/espressif/esp32/app/main/start.c
9 2 1
IRAM_ATTR void __start()
in proj/espressif/esp32/app/main/start.c
8 2 1
void boot_port_heap_init()
in port/espressif/src/boot_heap_port.c
7 1 1
void boot_port_wdt_feed()
in port/espressif/src/boot_wdt_port.c
7 1 1
void boot_port_wdt_disable()
in port/espressif/src/boot_wdt_port.c
7 1 1
static int boot_port_serial_read()
in port/espressif/src/boot_serial_port.c
7 2 3
void boot_port_startup()
in port/espressif/src/boot_startup_port.c
7 2 1