Репозиторий функций
Где-то я прочел тезис: мол, хорошо бы иметь платформу, где в репозитории лежат не пакеты, а функции. То есть гранулярность библиотек столь мала, насколько это возможно. И вот тогда бы мы зажили.
Не понимаю, зачем об этом мечтать, ведь такая платформа есть — это Node.js и
npm. В ней тысячи пакетов, которые состоят из одной-двух функций. Прямо сейчас
прошелся по папке node_modules
одного проекта. Обнаружил там забавные вещи:
-
ansi-red
— пакет для вывода текста красным, одна функция, пять строк на весь файл; -
expand-range
— что-то для диапазона значений, одна функция; -
for-in
— синтаксический сахар для цикла, одна функция, 6 строк; -
is-buffer
,is-number
,isarray
,isobject
— пакеты-проверки на нужный тип, везде одна функция на 5-6 строк; -
list-item
— генерилка списка с буллитами, одна функция; -
markdown-link
— рендер ссылки markdown, одна функция; -
randomatic
— генератор случайной строки, две функции; -
repeat-element
— генератор массива с повтором элемента, одна функция.
Есть и другие однострочники, не хочу утомлять. Просто факт: вот тебе платформа, куда можно заливать функции и делать ссылку на них, и это даже работает.
Имея все это на руках, хочется спросить: помогли тебе твои ляхи? Мы уже переехали в рай Node.js верхом на радуге? И что сегодня сказал бы автор тезиса? Опять чего-то не хватает?
Я очень скептичен к Node.js как платформе и не вижу смысла опять об этом писать. Речь о другом: высказывая тезис, даже самый фантастический, нужно помнить о том, что его легко проверить. Для этого не нужно ждать пять лет. Почти все, о чем мы мечтаем — это лишь слабые навороты к тому, что уже есть.
А истинно новые вещи проверить наперед невозможно.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
inhibitor, 5th Jun 2024, link
О! Да это же мои мысли которые я никому не говорил! Со временем я пришёл к тому что гранулярность функций на все случаи жизни приводит к бесконечному кол-ву функций (потому что случаев в жизни много всяких) и уже просто найти нужную - большая проблема. Проще просто уметь самому решать наиболее часто встречающиеся проблемы, а для всего остального есть библиотеки.