Комментарии 1
Если компания хочет делать рекламу обучающих курсов, то позаботьтесь, чтобы примеры кода были приличные, это же читают начинающие и впитывают практики.
Абстрагируясь от смысла статьи, сделаю код-ревью, блоков кода из нее:
Как в 2021 в статью пробрались var? Очень много где в статье используется let, а нужно const. Ничего не мешало вот тут тоже использовать const:
var data = [];
или тутvar triplify = (x) => 3 * x;
В этом блоке пропущена обработка ошибок, гораздо лучше такое писать на интерфейче async iterable:
fs.createReadStream(inputFileName)
.pipe(csv(csvOptions))
.on('data', (datum) => data.push({'x': Number(datum[columnX]), 'y': Number(datum[columnY])}))
.on('end', () => myEmitter.emit('reading-end'));
можно переписать через for..await а еще лучше сделать свой стрим и в него запайпить, страшно смотрится отлов 'end' и перебрасывание его в другой ивент-эмиттер.Вместо такой записи
const fit_data = data.map((datum) => [datum.x, datum.y]);
можно сделать покорочеconst fit_data = data.map(({ x, y }) => [x, y]);
Так же и из двух строчек
const slope = result.equation[0];
можно сделать одну и более читабильную
const intercept = result.equation[1];const [slope, intercept] = result.equation;
Засилье магических чисел по всему коду
Data Science на JavaScript без Python