apple / ccs-pycalendar
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 1,104 units with 7,885 lines of code in units (80.5% of code).
    • 0 very long units (0 lines of code)
    • 9 long units (596 lines of code)
    • 74 medium size units (2,298 lines of code)
    • 120 small units (1,731 lines of code)
    • 901 very small units (3,260 lines of code)
0% | 7% | 29% | 21% | 41%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
py0% | 7% | 29% | 21% | 41%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/pycalendar/icalendar0% | 9% | 29% | 25% | 36%
src/zonal0% | 20% | 30% | 24% | 24%
src/pycalendar0% | 1% | 27% | 19% | 51%
src/pycalendar/vcard0% | 0% | 41% | 3% | 54%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
def parse()
in src/pycalendar/icalendar/recurrence.py
97 38 2
def generate()
in src/pycalendar/icalendar/recurrence.py
86 31 2
def vtimezone()
in src/zonal/rule.py
84 31 8
def cacheBusyTime()
in src/pycalendar/icalendar/vfreebusy.py
59 19 1
def vtimezone()
in src/zonal/zone.py
59 12 5
def parse()
in src/pycalendar/duration.py
57 32 2
def expandPeriod()
in src/pycalendar/icalendar/componentrecur.py
52 24 3
def parseComponent()
in src/pycalendar/icalendar/calendar.py
51 32 2
def getUntilDate()
in src/zonal/zone.py
51 16 1
def parse()
in src/pycalendar/containerbase.py
50 30 2
def complexExpand()
in src/pycalendar/icalendar/recurrence.py
49 37 6
def readFoldedLine()
in src/pycalendar/utils.py
48 18 2
def normalise()
in src/pycalendar/datetime.py
46 12 1
def generateZoneinfoFiles()
in src/zonal/tzconvert.py
46 17 7
def finalise()
in src/pycalendar/icalendar/componentrecur.py
45 12 1
def decodeTextValue()
in src/pycalendar/utils.py
45 20 1
def getOnDayDetails()
in src/zonal/rule.py
45 19 4
def finalise()
in src/pycalendar/icalendar/valarm.py
44 18 1
def getMonthTable()
in src/pycalendar/utils.py
42 20 5
def getLocaleDate()
in src/pycalendar/datetime.py
41 7 2