Когда вижу в коде `let`, у меня повышается внимание на эту переменную и жду когда автор кода начнет ее изменять. Приходится заглядывать каждые `if else`, чтобы понять когда и как он ее меняет, но когда видишь код целиком написан на `let/var` и думаешь ну хренов эксперт из дикого запада.
Давно уже пора привыкнуть этим стрелочным функциям, опциональным/тернарным операторам:
И если джун, не понимает, что тут написано, то отправляем его учить матчасть и не адаптируем код под него. Код хорош тогда когда он краток и понятен, а вот чтобы было понятно нужны знать азы, по любому.
Кстати из за того, что реакт (бабель) конвертировал jsx теги в React.createElement, мне удавалось уменьшить размер бандла до 20%, хотя цель библиотеки была совсем другая, но получил такой интересный сайд эффект.
Ну как, к примеру у вас микро-уня которая отвечает за авторизацию там кнопки логина, регистрации, вспомнить пароль итп. В этом iframe происходит авторизация, затем полученный кук или жот-токен нужно передать в родительскую страницу, затем эти куки/токены нужно передать в другие iframe-ы, чтобы они могли дергать данные с сервера, а когда кука/токен устареет надо обновить и опять по цепочке…
Микросервисы на стороне сервера — это гуд потому, что при нагрузке эти сервисы будут размножатся, их удобно разрабатывать отдельно, ну и кучу там плюшек, а на фронте зачем это деление? На фронте нужно делить всё на компоненты, и пущай каждая команда пилит конкретные компоненты.
Почему вместо компонентов решили пойти этим ужасным путем? iframe — это ещё та боль начиная от поддержки авторизации до передачи состояния от одного куска к другому. А дибажить это ещё то удовольствие.
Веб-сокеты и Socket.IO, вероятно, являются двумя наиболее распространенными средствами коммуникации в режиме реального времени (далее — живое общение). Но чем они отличаются?
… Веб-сокеты и Socket.IO являются самыми популярными средствами живого общения в современном вебе. Какое из них выбрать? В чем разница между этими технологиями?
Использую wakatime.com автоматически подсчитывает сколько времени я кодил.
Для этого добавил расширения в редактор и в браузер, в расширении браузера установил список урлов по которму нужно трекать время и всё! В итоге получаю подробный отчет по проектам, по языкам, git веткам итп.
Интересно, вызванный дискомфорт после шумоподавляющих наушников, тоже связано тем, что мозг не любит полную тишину или там недоработка в технологии?
Давно уже пора привыкнуть этим стрелочным функциям, опциональным/тернарным операторам:
И если джун, не понимает, что тут написано, то отправляем его учить матчасть и не адаптируем код под него. Код хорош тогда когда он краток и понятен, а вот чтобы было понятно нужны знать азы, по любому.
Микросервисы на стороне сервера — это гуд потому, что при нагрузке эти сервисы будут размножатся, их удобно разрабатывать отдельно, ну и кучу там плюшек, а на фронте зачем это деление? На фронте нужно делить всё на компоненты, и пущай каждая команда пилит конкретные компоненты.
Почему вместо компонентов решили пойти этим ужасным путем? iframe — это ещё та боль начиная от поддержки авторизации до передачи состояния от одного куска к другому. А дибажить это ещё то удовольствие.
Теперь да, вы 100 кратно производительнее :)
зачем повторяться?
Для этого добавил расширения в редактор и в браузер, в расширении браузера установил список урлов по которму нужно трекать время и всё! В итоге получаю подробный отчет по проектам, по языкам, git веткам итп.
Другое дело генераторы.
Спасибо за ответ, вспоминаю где-то подобное читал и забыл напрочь. Думаю самое то, код остаётся чистым и есть проверка на тип. Вери Гуд!
Поставил плюс хотя я не сторонник ts.
P.S.
Автору статьи: если на js оказала влияние java, то на ts повлиял C#.
Такой прием делается не просто для краткости кода, а как минимум для создания:
— композиции функций
— передачи переменных в скоуп функции
к примеру, есть колбэк функция onClick:
и нам необходимо создать универсальную функцию удаления по id, однако функция onClick принимает только один параметр event:
для передачи дополнительных переменных в эту функцию без глобального объявления тут не обойтись, как мы знаем глобальные переменные — это зло.
Вот для таких случаях подходит этот прием «функция которая возращает другую функцию»
и второй случай:
В этом примере мы создаем новую функцию likePost на основе уже двух существующих функции.
Забыли удалить?