CodeRoll | Frontend
4.85K subscribers
1.61K photos
73 videos
1 file
947 links
— Лучшее для разработчика и дизайнера / IT инструменты, курсы и книги
— Веб-разработка на JS, HTML, CSS, React, Vue,Angular

Купить рекламу: https://telega.in/c/coderoll

Чат: https://t.iss.one/coderoll_chat

По всем вопросам пишите сюда - @yankovsky_ads
Download Telegram
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


Функции должны иметь только один уровень абстракции

❗️ Проблема: Функция processOrder содержит код как высокого уровня абстракции (логика обработки заказа), так и низкого уровня (расчет суммы и проверка на складе). Это делает функцию сложной для понимания и поддержки

Чистый код: В исправленном примере processOrder остается на одном уровне абстракции и вызывает вспомогательные функции (calculateTotalAmount и checkStockAvailability), которые решают низкоуровневые задачи

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
Используем принципы “Чистого кода” в контексте JavaScript.

Функции


❗️ Не создавайте глобальные функции, которые могут создать конфликт с аналогичными функциями сторонних библиотек

Давайте разберем на примере: что, если вы хотите расширить собственный метод JavaScript Array, чтобы иметь метод diff, который мог бы показать разницу между двумя массивами?


Вы можете написать свою новую функцию в Array.prototype, но она может конфликтовать с другой библиотекой, которая попытается сделать то же самое

Что, если эта другая библиотека просто использует diff, чтобы найти разницу между первым и последним элементами массива?

Вот почему было бы гораздо лучше просто использовать классы ES2015/ES6 и просто расширить глобальный Array.

Coderoll | Frontend
👍3
Что такое Callback Hell?

Ответ:
Callback Hell — это ситуация, когда код становится трудно читаемым и поддерживаемым из-за глубокой вложенности коллбэков. Это часто происходит при работе с асинхронными операциями. Проблему можно решить с помощью Promises или Async/Await.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅1
Please open Telegram to view this post
VIEW IN TELEGRAM