AVS
Conditional Complexity

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 408 units with 5,556 lines of code in units (35.5% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 4 medium complex units (230 lines of code)
    • 39 simple units (1,239 lines of code)
    • 365 very simple units (4,087 lines of code)
0% | 0% | 4% | 22% | 73%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
js0% | 0% | 4% | 22% | 73%
Legend:
51+
26-50
11-25
6-10
1-5
Conditional Complexity per Logical Component
primary logical decomposition
modules/core0% | 0% | 6% | 31% | 62%
modules/monochrome0% | 0% | 6% | 16% | 77%
website/src0% | 0% | 0% | 27% | 72%
modules/layers0% | 0% | 0% | 23% | 76%
examples/xviz-playground0% | 0% | 0% | 24% | 75%
examples/website-demo0% | 0% | 0% | 0% | 100%
examples/get-started0% | 0% | 0% | 0% | 100%
bindings/python0% | 0% | 0% | 0% | 100%
Legend:
51+
26-50
11-25
6-10
1-5
Most Complex Units
Top 50 most complex units
Unit# linesMcCabe index# params
function getProperty()
in modules/core/src/layers/xviz-layer.js
46 19 3
_renderSetting()
in modules/monochrome/src/form/form.js
57 14 5
_getScaleSettings()
in modules/monochrome/src/metric-card/chart.js
43 13 0
_getLayers()
in modules/core/src/components/log-viewer/core-3d-viewer.js
84 13 1
_renderMetric()
in modules/core/src/components/hud/meter-widget.js
40 10 3
function getBackgroundColor()
in modules/monochrome/src/shared/button/index.js
17 9 1
export function createFormData()
in modules/core/src/components/stream-settings-panel.js
41 9 2
componentWillReceiveProps()
in modules/core/src/components/declarative-ui/xviz-plot.js
36 9 1
_renderGauge()
in modules/core/src/components/hud/meter-widget.js
58 9 3
getShaders()
in modules/layers/src/lane-layer/lane-layer.js
60 9 0
_onScroll()
in website/src/components/markdown-page.js
28 8 1
export function createMessage()
in examples/xviz-playground/src/eval.js
19 8 1
function getPublicMethods()
in examples/xviz-playground/src/auto-complete.js
23 8 1
_renderSeries()
in modules/monochrome/src/metric-card/chart.js
44 8 0
_renderDataFilters()
in modules/monochrome/src/metric-card/rich-metric-chart.js
47 8 0
export function formatTimeCode()
in modules/monochrome/src/playback-control/utils.js
23 8 2
export function subtract()
in modules/core/src/utils/buffer-range.js
29 8 2
export function getViewStates()
in modules/core/src/utils/viewport.js
38 8 4
export function settingsToFormValues()
in modules/core/src/components/stream-settings-panel.js
18 8 2
_renderPage()
in website/src/components/table-of-contents.js
56 7 3
_getTransform()
in website/src/components/common/carousel.js
36 7 1
_renderCrosshair()
in modules/monochrome/src/metric-card/chart.js
72 7 0
updateState()
in modules/core/src/layers/xviz-layer.js
22 7 3
function getTimeSeriesForStream()
in modules/core/src/utils/metrics-helper.js
17 7 4
export function resolveLinksTransform()
in modules/core/src/utils/transform.js
19 7 3
_getCurrentFrames()
in modules/core/src/components/declarative-ui/image-sequence.js
20 7 1
_formatData()
in modules/core/src/components/declarative-ui/xviz-table.js
27 7 3
_renderTip()
in modules/core/src/components/log-viewer/perspective-popup.js
52 7 1
_onXVIZMetadata()
in modules/core/src/loaders/xviz-loader-interface.js
15 7 1
updateState()
in modules/layers/src/imagery-layer/imagery-layer.js
39 7 3
function generatePath()
in website/src/contents/pages.js
28 6 5
export function evaluateCode()
in examples/xviz-playground/src/eval.js
31 6 2
render()
in modules/monochrome/src/metric-card/chart.js
48 6 0
export function positionsToPopperPlacement()
in modules/monochrome/src/shared/popover/utils.js
10 6 2
export function mergeXVIZStyles()
in modules/core/src/utils/style.js
19 6 2
set()
in modules/core/src/utils/image-buffer.js
25 6 2
export function updateFormValues()
in modules/core/src/components/stream-settings-panel.js
16 6 3
_getStreamNames()
in modules/core/src/components/declarative-ui/xviz-video.js
14 6 2
function getSocketRequestParams()
in modules/core/src/loaders/xviz-stream-loader.js
43 6 1
seek()
in modules/core/src/loaders/xviz-stream-loader.js
31 6 1
_onXVIZTimeslice()
in modules/core/src/loaders/xviz-loader-interface.js
19 6 1
connect()
in modules/core/src/loaders/xviz-websocket-loader.js
42 6 0
void main()
in modules/layers/src/imagery-layer/imagery-layer-fragment.js
17 6 1
_jumpTo()
in website/src/components/markdown-page.js
16 5 1
function findPage()
in website/src/components/gallery.js
18 5 2
_renderTabContent()
in examples/website-demo/src/control-panel.js
24 5 0
render()
in modules/monochrome/src/playback-control/stories.js
29 5 0
_onSettingsChange()
in modules/monochrome/src/form/stories.js
16 5 1
render()
in modules/monochrome/src/shared/popover/popover.js
24 5 0
export function getOppositePosition()
in modules/monochrome/src/shared/popover/utils.js
14 5 1