Найти в Дзене
267 подписчиков

Про когнитивную нагрузку библиотек


В обсуждении поста про два смешных бага возникла довольно интересная дискуссия. Человек утверждал, что не стоит использовать lodash в 2023 потому что уже всё реализовано в самом языке. Lodash это такая библиотека для JS с функциональным сахарком, если что.

И я в целом-то понимаю почему. Любая библиотека так или иначе несёт с собой дополнительную когнитивный нагрузку. Это касается не только джаваскрипта. Только библиотека эту нагрузку дает на этапе освоения этой библиотеки. В то время как если постоянно писать руками, то когнитивная нагрузка на чтение этого кода будет с вами всегда. Все любят джаву за ее многословность. Вот это то же самое.

Конечно найдется человек, который скажет, что многословность джавы — это плюс и сахарок не нужен. Но если человек хочет страдать — пусть страдает.

Да, когда ты видишь код на lodash или на rxjs то сперва очень сложно понять, что происходит. Однако, через недельку все читаешь как английский, даже проще ванильного кода. Тот же rxjs предлагает настолкько удобное управление потоками данных, что игнорировать это просто неразумно. Да, и документация во всплывашках есть везде, чтобы в первый раз прорваться.

Тащить библиотеки закрыв глаза, однако не стоит. Критерием я считаю объем кода, который вы планируете заразить. Если это один маленький кусочек, то без библиотеки действительно можно обойтись. Если же вы замечаете, что пишете одни и те же паттерны раз за разом, либо, что вы начали писать свою такую библиотеку в utils — вот тогда да.

Только rambda не надо тащить. Бегите от людей, которые ее используют. Я знаю, они будут пытаться вас догнать и объяснить, что вы неправы. Просто спросите как в рамбда реализовано каррирование и, пока рамбдёр объясняет закрыв глаза от удовольствия, вы тихонько смоетесь.

1 минута