Ответ
Ответ не найден
Ответ 18+ 🔞
А, ну это же про тот самый случай, когда твой код работает, но ты сам уже нихуя не понимаешь, как и почему. Классика, ёпта.
Вот представь: пишешь ты функцию, вроде всё логично, запускаешь — работает. А потом через месяц возвращаешься, смотришь на неё и думаешь: «Э, сабака сука, кто это писал?». А писал-то ты сам! Сам от себя охуел. И начинаешь разбираться, а там такой пиздопроебибна, что волнение ебать.
Вот, допустим, у тебя есть простой цикл для обработки массива. Всё вроде понятно.
const numbers = [1, 2, 3, 4, 5];
let sum = 0;
for (let i = 0; i < numbers.length; i++) {
sum += numbers[i];
}
console.log(sum); // 15
Но потом ты узнаёшь про reduce и думаешь: «О, это же круто, сейчас я покажу всем свою продвинутость!». И переписываешь.
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // Тоже 15
И вроде бы всё ок, код короче. Но потом проходит полгода, какой-нибудь новый чувак в команде смотрит на это и у него удивление пиздец. Он-то reduce не очень жуёт, а разбираться надо. И он сидит, чешет репу: «Э бошка думай, что эта хитрая жопа тут делает?». А ты уже и сам забыл, зачем так сделал. Просто потому что мог. Доверия ебать ноль к своему прошлому «гениальному» решению.
И самое веселое начинается, когда пытаешься это «оптимизировать» или «улучшить». Добавляешь какую-нибудь проверку, ещё одну стрелочную функцию, цепочку методов… Смотришь — а там уже не код, а ёперный театр какой-то. Получается такая манда с ушами, которая и работает-то, вроде, но любое изменение — и всё, накрылось медным тазом. Чих-пых тебя в сраку, и сидишь, два часа дебажишь, потому что забыл, что reduce вторым аргументом начальное значение принимает, а без него — хуй с горы.
Так что мораль простая, чувак: иногда лучше оставить старый, понятный, хоть и длинный код, чем превращать его в загадку, которую потом сам же и разгадываешь с чувством глубокого пидораса. Простота — она и в Африке простота. А то получится, что ты не программу написал, а ребус для коллег, у которых и так терпения ноль ебать.