Vladimir
Специально искали?
Дима
Сорри, но кажется, что люди, которые тратят время на поиск arrify и подобного по npm просто неэффективны
Аргументация уровня бог просто. У меня был однострочник в utils, наткнулся на этот пакет, не исключено, что сзесь же, греп-замена-проекты чище и легче на 15 строк
Дима
Что. В этом. Такого
Ohar
Что. В этом. Такого
Фатальный недостаток же
Vladimir
Потому что у зависиомстей есть цена, платить ее за такую ерунду - это смешно
Ohar
Потому что у зависиомстей есть цена, платить ее за такую ерунду - это смешно
У кода проекта есть тоже цена. Цена поддержки, тестирования и всего такого
Дима
Цена сопровождения кода дороже цены сопровождения зависимостей
Vladimir
Нет
Ohar
+
Vladimir
Не всегда
Ohar
Я обратного не встречал
Ohar
Можно пример, когда это не так?
Дима
Не всегда
Я про примитивно-утрированный вариант. Не про обновления sails, а про функции, которые нужно написать один раз и забыть
Дима
А не тащить за собой из проекта в проект
Vladimir
Во первых, есть случаи когда функция вообще не нужна - ни своя, ни чужая
Дима
И код
Vladimir
Тут и arrify, и is-x, и т д
Дима
И проект
Ohar
лол
Vladimir
Зачем arrify, если можно написать Array.isArray(x) ? x : [x]
Vladimir
Просто и понятно
Дима
:D
Vladimir
Зачем is-string когда можно написать typeof x === 'string'
Ohar
Чтобы тоже не писать?
Ohar
Чтобы абстракцию повысить и код ячитабельнее стал, не?
Vladimir
Он не становится читабельней
Владимир
А код не становится читабельнее
Vladimir
Он как раз становится менее читабельным
Vladimir
Это js, тут даже в is-string могут быть всякие нюансы
Владимир
Наоборот, функции обфусцируют реальную логику
Ohar
isString(foo) не читабельнее чем typeof x === 'string'? Серьёзно?
Дима
Один пацан писал все однострочники самостоятельно, и arrify, и is-string, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
Vladimir
Да, не чиатбельнее
Vladimir
Что там внтри? Работает ли с String? кто знает
Ohar
Да, не чиатбельнее
У меня плохие новости про твои представления о читабельности
Vladimir
Это не важно, если тебе не важно как работает код
Vladimir
Если ты не ищешь баг
Vladimir
Тогда не важно, да
Ohar
Мне важно что он работает и проходит тесты и нет боттлнеков
Vladimir
А еще должно быть важно, чтобы его мог читать и поддерживать другой человек
Ohar
Именно и тут isString всех победил
Дима
Код-ревью is-string
Дима
Artur
Всегда использовал typeof s === 'string' и буду использовать. Странно, что кто-то это выносит в отдельную библиотеку.
Владимир
Грубо говоря, если в функции бага и в ней однострочники, то тебе надо посмотреть ровно один файл и не нужно допзнаний
Владимир
Если ты выносишь такую фигню в функции, тебе надо смотреть их тело тоже
Artur
Точно так же, как и с arrify. Проще просто код написать же.
Vladimir
Бага может быть в любом месте твоего кода, что уж поделаешь
Artur
Ну это нужно тем, кто использует старые версии node
Artur
Выкидываю такие зависимости сразу.
Ohar
Бага может быть в любом месте твоего кода, что уж поделаешь
Именно поэтому количество своего кода надо уменьшать
Vladimir
> @izatop Ну это нужно тем, кто использует старые версии node Это видимо какие то очень старые
Владимир
Отлично, а теперь у тебя бага в однострочниках. Твои действия?
Я правлю их in place, зная точно, что исправление незааффектит другие части кода
Vladimir
> @Oharr Именно поэтому количество своего кода надо уменьшать Здесь его не уменьшается
Artur
> @izatop Ну это нужно тем, кто использует старые версии node Это видимо какие то очень старые
Проблема NPM еще и в этом, да. Много легаси совместимых библиотек, которые не хочется из-за этого использовать.
Владимир
Бага-то в одном
Vladimir
Баг в одном месте, а не в 32
Дима
Не
Ohar
Баг в одном месте, а не в 32
Нет, баг в однострочнике, который ты скопипастил по всему коду вместо того чтобы вынести в модуль
Дима
Вы же копипастите однострочники
Дима
Что значит в одном
Владимир
Что я, лох 32 раза делать ошибку в typeof a === 'string'
Vladimir
Так не надо копипастить лол
Artur
И ты правишь её в 32 местах, да?
зачем править typeof s === 'string'? Хуже как раз ситуация, когда ты выходишь за рамки того функционала, который тебе микропакет дает и тебе приходится искать еще один.
Ohar
Теперь это надо исправить
Ohar
Или джун лох, который это писал
Ohar
неважно
Vladimir
Баг точно также может быть и в вызове однострочника из пакета
Artur
Тебе руки господь дал специально для того, чтобы писать, а не копировать.
Дима
Зачем???
Вы меня щас уговариваете писать arrify каждый раз в каждом проекте в каждом файле
Дима
А сейчас мне рассказываете что копипаста это плохо