Evgeny
аюсолюта нет. есть оценка стоимости рисков
Ohar
вот да
Vladimir
Она есть, потому что риск надо уменьшать)
Ohar
А это очень индивидуально
Artur
И правильно сделало.
Дима
Спорно
Дима
Писать раз за разом один и тот же код и раздувать структуру проекта тоже не лучший подход
Дима
Просто npm кривой и никак не помогает в этом плане
Vladimir
npm то причем
Vladimir
Люди сами решают, что не хотят писать код
Дима
Ну да, но микромодуули должны быть ниже этих особенностей, быть атомарными. Unix way
Дима
У меня в примере тут всегда модуль arrify
Vladimir
Про unix way недавно был классный пост
Ohar
Если фигню можно не писать, а зацепить как зависимость → так и надо сделать
Ohar
Естественно, посмотрев сначала что там внутри
Vladimir
Про unix way недавно был классный пост
В котором было про то, что в ls есть куча флагов для сортировки, вместо того, чтобы вынести в отдельный бинарник
Vladimir
У меня в примере тут всегда модуль arrify
Отличный пример бессмысленного пакета
Дима
Arrify — это штука для реализации подхода Zero One Infinity rule, но при этом нигде не реализованная. Это всего одна строчка, но я предпочту убедиться, что sindresorhus не наговнокодил в 4 строчках и не убил оптимизацию, а потом юзать его.
Ohar
Если ты говоришь про написание библиотеки, в которой важна скорость, то согласен. В прочих случаях нет.
Дима
Зачем мне писать эту строчку в каждом проекте?
Vladimir
Потому что тебе так и так придется написать какую то строчку
Ohar
бэкенд бэкенду рознь
Vladimir
И строчку с использованием либы сложнее читать
Дима
Лучше это будет import arrify, чем блок кода, сопровождение которого теперь взваливается на мои плечи
Vladimir
Еще раз - чтобы понять, что такое arrify, читатель кода (в том числе и ты в будущем), должен будет зайти внутрь и прочитать его код
Artur
Вот я может убогий, но вместо lodash всяких использую FP подход и фигачу каждый раз "строчку-другую" кода.
Дима
Дима
Есть документация
Дима
jsdoc на крайняк
Vladimir
Здеесь речь о том что это пишется в одну строчку, не надо никаких файлов
Artur
И скажите, есть кто-то, кто откидывает библиотеки не только по всем вышеперечисленным причинам, но и по причине того, что код использует слишком много устаревших зависимостей (типа is-array и т.п.) из-за стремления поддержки старых версий ноды?
Vladimir
А тебе еще нужно помнить, что для консистентности во всем проекте теперь нужно использовать arrify и 100 других однострочников
Дима
Что значит не надо? А где этот год будет располагаться, как его из этого места подключать и чем это принципиально будет отличаться от import arrify?
Vladimir
Его не надо подключать
Artur
Не надо ничего подключать)
Artur
Бери и пиши)
Vladimir
Это одна строчка в том месте где она нужна
Дима
Писать в том же файле?
Дима
Ууу
Artur
Благо arrow functions теперь есть
Дима
Не, сразу нет
Vladimir
Да не нужна тут функция
Vladimir
Это просто одна строчка
Artur
Я просто не в курсе что такое arrfy
Дима
В сопровождении кода
Vladimir
Ну нужно каждую строчку выносить в функцию с дебильным названием
Artur
или как его
Дима
Программист за день пишет 30 строчек
Дима
Задача — посчитайте цену вашей строки
Vladimir
Программист за день пишет 30 строчек
Ну если весь день говнопакеты по npm искать, то может быть
Vladimir
Да я серьезно
Artur
Люди делятся на два типа, ага)))
Vladimir
Кто пишет 30 строчек, того надо увольнять сразу
Дима
Я тоже, правда смишно
Дима
Уволен
Дима
Dreamerinnoise
'use strict'; module.exports = function (val) { if (val === null || val === undefined) { return []; } return Array.isArray(val) ? val : [val]; }; вот из-за этого ставить пакет? Лучше заведу себе в utils файл под это.
Dreamerinnoise
или там другой arrify?)
Дима
Ты думаешь я так не сделал)
Dreamerinnoise
ну и что?
Дима
ну и что?
Как разбухнет до 200 строчек так вернёмся к этому разговору
Дима
Количество утилит в проекте может быть очень большим
Dreamerinnoise
ну есть и по 200 строчек
Dreamerinnoise
и что?
Vladimir
200 строчек? да это две недели работы!
Дима
Я не понимаю, зачем поддерживать то, что можно не поддерживать
Dreamerinnoise
это так трудно!
Дима
Жизнь слишком коротка, чтобы тратить её на arrify в каждом проекте
Ohar
Я не понимаю, зачем поддерживать то, что можно не поддерживать
людям нравится кодить штуки, а не продукт делать
Ohar
Фатальный недостаток и всё такое
Vladimir
Сорри, но кажется, что люди, которые тратят время на поиск arrify и подобного по npm просто неэффективны
Vladimir
Откуда вы вообще про это говно знаете?
Ohar
Сорри, но кажется, что люди, которые тратят время на поиск arrify и подобного по npm просто неэффективны
неэффективны люди, которые пишут неподдерживаемый код с кучей мелких велосипедов
Vladimir
Нет, серьезный вопрос - откуда вы знает про arrify?