Meaningful identifiers
Callback parameters and local variables must describe the value they hold.
Rules
- Name array callback params after the element's domain type:
batches.map((batch) => …),bins.filter((bin) => …),checkpoints.find((checkpoint) => …). Never reuseright/left/columnfor values that are not sort operands or table columns. - Name
reduceaccumulators after what they accumulate:sum/totalfor a running total, notstep. - Name percentile/ratio arguments for the quantity they represent
(
percentileRank,multiplier), not an unrelated domain noun.
Leave correct uses untouched
- Sort comparators:
(left, right) => left - right. (column) => column.keyover a real.columnsarray.for (const row of …Rows)where the items are genuinely rows.