kepler.rl
Unit Size

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,195 units with 17,415 lines of code in units (37.3% of code).
    • 6 very long units (1,582 lines of code)
    • 39 long units (2,519 lines of code)
    • 187 medium size units (5,599 lines of code)
    • 276 small units (4,050 lines of code)
    • 687 very small units (3,665 lines of code)
9% | 14% | 32% | 23% | 21%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
js9% | 14% | 32% | 23% | 21%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Logical Component
primary logical decomposition
src/components25% | 26% | 25% | 11% | 12%
src/layers0% | 13% | 38% | 23% | 24%
src/reducers0% | 21% | 38% | 32% | 7%
bindings/kepler.gl-jupyter0% | 21% | 47% | 8% | 21%
examples/demo-app0% | 4% | 38% | 32% | 24%
src/processors0% | 13% | 52% | 17% | 16%
src/utils0% | 0% | 36% | 33% | 30%
src/deckgl-layers0% | 0% | 21% | 47% | 31%
website-gatsby/src0% | 0% | 68% | 9% | 22%
website/src0% | 0% | 67% | 13% | 19%
src/schemas0% | 0% | 18% | 57% | 23%
scripts0% | 0% | 30% | 45% | 24%
examples/replace-component0% | 0% | 43% | 25% | 31%
examples/open-modal0% | 0% | 0% | 90% | 9%
website-gatsby0% | 0% | 0% | 100% | 0%
examples/custom-reducer0% | 0% | 0% | 100% | 0%
examples/custom-theme0% | 0% | 0% | 0% | 100%
src/cloud-providers0% | 0% | 0% | 0% | 100%
src/middleware0% | 0% | 0% | 0% | 100%
src/actions0% | 0% | 0% | 0% | 100%
src/connect0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
11-20
1-10
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
export default function LayerConfiguratorFactory()
in src/components/side-panel/layer-panel/layer-configurator.js
748 37 6
render()
in src/components/modal-container.js
276 24 0
render()
in src/components/kepler-gl.js
196 9 0
export default function ModalContainerFactory()
in src/components/modal-container.js
124 5 11
function SaveMapModalFactory()
in src/components/modals/save-map-modal.js
119 8 0
export default function ShareMapUrlModalFactory()
in src/components/modals/share-map-modal.js
119 8 0
render()
in src/components/modals/export-data-modal.js
99 7 0
formatLayerData()
in src/layers/geojson-layer/geojson-layer.js
80 21 3
render()
in src/components/common/file-uploader/file-upload.js
80 8 0
render()
in src/components/side-panel/layer-panel/text-label-panel.js
80 4 0
renderLayer()
in src/layers/point-layer/point-layer.js
79 3 1
export function setFilterUpdater()
in src/reducers/vis-state-updaters.js
79 9 2
function App()
in bindings/kepler.gl-jupyter/js/lib/keplergl/components/app.js
77 10 0
_renderMapPopover()
in src/components/map-container.js
77 15 1
function AnimationControllerFactory()
in src/components/common/animation-control/animation-controller.js
75 8 0
render()
in src/components/side-panel/layer-manager.js
74 3 0
function TooltipChickletFactory()
in src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js
73 6 4
function KeplerGlFactory()
in src/components/kepler-gl.js
73 12 7
export function mergeFilters()
in src/reducers/vis-state-merger.js
72 10 2
function FieldPanelWithFieldSelectFactory()
in src/components/filters/filter-panels/filter-panel-with-field-select.js
71 4 3
renderLayer()
in src/layers/icon-layer/icon-layer.js
70 4 1
function LayerManagerFactory()
in src/components/side-panel/layer-manager.js
69 3 3
function LayerPanelHeaderFactory()
in src/components/side-panel/layer-panel/layer-panel-header.js
68 5 1
render()
in src/components/common/animation-control/animation-control.js
63 4 0
function ExportMapModalFactory()
in src/components/modals/export-map-modal/export-map-modal.js
62 3 2
renderLayer()
in src/layers/h3-hexagon-layer/h3-hexagon-layer.js
61 4 1
function DataTableModalFactory()
in src/components/modals/data-table-modal.js
60 7 1
formatLayerData()
in src/layers/s2-geometry-layer/s2-geometry-layer.js
58 12 3
async uploadMap()
in examples/demo-app/src/cloud-providers/carto/carto-provider.js
57 7 2
render()
in src/components/side-panel/layer-panel/vis-config-by-field-selector.js
57 6 0
render()
in src/components/filters/time-widget.js
56 4 0
function TimeRangeFilterPanelFactory()
in src/components/filters/filter-panels/time-range-filter-panel.js
56 3 2
function LayerGroupSelectorFactory()
in src/components/side-panel/map-style-panel/map-layer-selector.js
56 3 0
function FilterPanelFactory()
in src/components/side-panel/filter-panel/filter-panel.js
56 6 7
export default function GeocoderPanelFactory()
in src/components/geocoder-panel.js
55 2 0
export function provideInitialState()
in src/reducers/root.js
55 5 1
render()
in src/components/common/time-range-slider.js
54 4 0
formatLayerData()
in src/layers/point-layer/point-layer.js
53 8 2
renderLayer()
in src/layers/s2-geometry-layer/s2-geometry-layer.js
53 1 1
export function validateInputData()
in src/processors/data-processor.js
53 11 1
export default function TimeRangeSliderFactory()
in src/components/common/time-range-slider.js
53 3 4
_renderDeckOverlay()
in src/components/map-container.js
52 8 1
render()
in src/components/side-panel/panel-header.js
51 7 0
render()
in src/components/side-panel/layer-panel/color-selector.js
51 6 0
export function setPolygonFilterLayerUpdater()
in src/reducers/vis-state-updaters.js
51 4 2
export function mergeInteractions()
in src/reducers/vis-state-merger.js
49 7 2
export function renderedSize()
in src/components/common/data-table/cell-size.js
48 3 12
async downloadMap()
in examples/demo-app/src/cloud-providers/carto/carto-provider.js
47 8 1
renderLayer()
in src/layers/line-layer/line-layer.js
46 2 1
formatLayerData()
in src/layers/h3-hexagon-layer/h3-hexagon-layer.js
46 8 3