Бумеры на месте?
В конце 2024 года команда Angular открыла RFC для обсуждения обновленного стайлгайда. Один из пунктов предлагает отказаться от суффиксов в названиях файлов и классов. То есть вместо привычных
Предложение ожидаемо вызвало недоумение у разработчиков, которые много лет работают с Angular и привыкли к устоявшимся соглашениям.
Я сам недавно вплотную столкнулся с новым неймингом: стартовал пару боевых проектов и сделал несколько учебных демок на Angular 20. Первые впечатления - даже немного радостно: имена короче, standalone-компоненты можно создавать без участия CLI, сделал
Однако как только в проектах начала разрастаться бизнес-логика, а сервисы и директивы множиться, пришли первые сомнения. Над именами уже приходилось думать и «напрягать макушку». В голове возникло два рабочих и очевидных варианта:
1️⃣ внутри модуля/фичи выделять слайсы (читай директории) и тонко работать с импортами, чтобы избегать коллизий имен (прощай flat структура)
2️⃣ вносить в имя файла роль/назначение сущности, чтобы оно было по-настоящему осмысленным (прямо по заветам RFC)
С первым пунктом вопросов нет, это обычный рабочий флоу во многих современных проектах. Со вторым же пунктом пришлось повозиться и заглушить привычки, чтобы начать писать именно нормальный нейминг, а не скатываться в привычные
Для тех, кто пока не готов отходить от наработанных паттернов, есть путь попроще. Можно настроить схематики, чтобы новые сущности создавались по старому шаблону, с привычными суффиксами и именованием классов.
Ну а для совсем ленивых, ну то есть для всех разработчиков (хе-хе), есть пакет с забавным названием ngx-boomer, который добавляет настройки для схематиков автоматически. Запускаем без установки через npx и сидим кряхтим, что раньше было лучше! Ведь было же!?
🌟 вернуть все как было
@summon_the_coder | chat$.subscribe()
#angular #styleguide #schematics
В конце 2024 года команда Angular открыла RFC для обсуждения обновленного стайлгайда. Один из пунктов предлагает отказаться от суффиксов в названиях файлов и классов. То есть вместо привычных
.component, .service, .pipe, .directive рекомендовано использовать осмысленные имена файлов. А в классах убрать «Component/Service/Directive» и писать просто App, Home и т. п. Идея команды - сконцентрироваться на «говорящих» именах, условный user.service.ts действительно не дает полного понимания того, что именно делает класс (и да, отчасти это правда).Предложение ожидаемо вызвало недоумение у разработчиков, которые много лет работают с Angular и привыкли к устоявшимся соглашениям.
Я сам недавно вплотную столкнулся с новым неймингом: стартовал пару боевых проектов и сделал несколько учебных демок на Angular 20. Первые впечатления - даже немного радостно: имена короче, standalone-компоненты можно создавать без участия CLI, сделал
button.ts, и готово. Раньше, конечно, тоже можно было, но «соглашение — есть соглашение».Однако как только в проектах начала разрастаться бизнес-логика, а сервисы и директивы множиться, пришли первые сомнения. Над именами уже приходилось думать и «напрягать макушку». В голове возникло два рабочих и очевидных варианта:
С первым пунктом вопросов нет, это обычный рабочий флоу во многих современных проектах. Со вторым же пунктом пришлось повозиться и заглушить привычки, чтобы начать писать именно нормальный нейминг, а не скатываться в привычные
*.service.ts файлы.Для тех, кто пока не готов отходить от наработанных паттернов, есть путь попроще. Можно настроить схематики, чтобы новые сущности создавались по старому шаблону, с привычными суффиксами и именованием классов.
{
"@schematics/angular:component": { "type": "component" },
"@schematics/angular:directive": { "type": "directive" },
"@schematics/angular:service": { "type": "service" },
"@schematics/angular:guard": { "typeSeparator": "." },
"@schematics/angular:interceptor": { "typeSeparator": "." },
"@schematics/angular:module": { "typeSeparator": "." },
"@schematics/angular:pipe": { "typeSeparator": "." },
"@schematics/angular:resolver": { "typeSeparator": "." }
}Ну а для совсем ленивых, ну то есть для всех разработчиков (хе-хе), есть пакет с забавным названием ngx-boomer, который добавляет настройки для схематиков автоматически. Запускаем без установки через npx и сидим кряхтим, что раньше было лучше! Ведь было же!?
@summon_the_coder | chat$.subscribe()
#angular #styleguide #schematics
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤🔥11👀9🔥6😁6❤1👍1🥰1
Находчивое напряжение или Остроумный саспенс (перевод by AI)
На gitnation.com вышел доклад Minko Gechev, техлида в Google, где он сравнивает подходы к отложенной загрузке, префетчингу и гидрации компонентов в Angular (Deferrable Views) и React (Suspense).
Главная мысль — не существует «хороших» или «плохих» технологий — есть те, что быстрее, удобнее и дешевле решают именно вашу задачу, нужно найти подходящий компромисс. Поэтому не стоит строго «играть» за одну команду, пробуйте больше инструментов и подходов, чтобы находить лучшее решение под конкретный контекст. Особенно актуальна эта мысль в эру ИИ, когда технологии можно щупать без каких либо проблем.
Ну а где код получился декларативнее и понятнее, спойлерить не буду.👋
▶️ смотреть доклад "Resourceful Suspense"
@summon_the_coder | chat$.subscribe()
#angular #react #deferrableviews
На gitnation.com вышел доклад Minko Gechev, техлида в Google, где он сравнивает подходы к отложенной загрузке, префетчингу и гидрации компонентов в Angular (Deferrable Views) и React (Suspense).
Главная мысль — не существует «хороших» или «плохих» технологий — есть те, что быстрее, удобнее и дешевле решают именно вашу задачу, нужно найти подходящий компромисс. Поэтому не стоит строго «играть» за одну команду, пробуйте больше инструментов и подходов, чтобы находить лучшее решение под конкретный контекст. Особенно актуальна эта мысль в эру ИИ, когда технологии можно щупать без каких либо проблем.
Ну а где код получился декларативнее и понятнее, спойлерить не буду.
@summon_the_coder | chat$.subscribe()
#angular #react #deferrableviews
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤9👍2🔥1
🚨 Alert! 20 (двадцать!) дней до митапа
Осень, как обычно, богата на различные мероприятия — конференции, митапы, сходки. А еще есть основная работа, работа в эдтехе, сторонние проекты, чуть-чуть менторства. И во всем этом круговороте нужно еще и пожить успеть, и про себя не забывать.
Но одно предстоящее мероприятие — самое-самое. И именно подготовка к нему забирает почти все силы и время. Сделать интересный, технически дотошный и просто нескучный доклад это целая наука (кто бы знал да). Для большинства спикеров это будет «самый первый раз», поэтому мы вмногером практически каждую неделю делаем прогоны, делимся мнениями и стараемся конструктивно предлагать улучшения.
Немного приоткрою завесу над своим докладом — «Сигналы в Angular». Из названия не совсем понятно, а что там еще можно рассказать про сигналы? Кажется, все уже и так все знают. Тем более, название пока в статусе черновика, но, чувствую, таким оно и доедет до митапа.🙈
Моя главная цель — донести до слушателей идею о том, что сигналы — это не просто очередная модная игрушка для разработчиков, а сдвиг устоявшихся парадигм, новый способ мыслить о данных. Я расскажу, с чего все начиналось, к чему пришло, какие бонусы и какие трейд-оффы мы получили. Будет очень интерестинг!
Если сомнения еще одолевают, а 21 ноября в календаре является свободным слотом и намекает на какую-нибудь активность, то выход есть: Centi Conf.
Буду рад всех видеть и пообщаться лично!❤️
🌟 купить билет и поднять уровень в одиночку знаний
P.S. А еще 20 ноября будет мероприятие (возможно и сразу релиз) про 21 версию angular. Так что на митапе можно будет обсудить наисвежайшие новости.
@summon_the_coder | chat$.subscribe()
#angular #meetup #centiconf
Осень, как обычно, богата на различные мероприятия — конференции, митапы, сходки. А еще есть основная работа, работа в эдтехе, сторонние проекты, чуть-чуть менторства. И во всем этом круговороте нужно еще и пожить успеть, и про себя не забывать.
Но одно предстоящее мероприятие — самое-самое. И именно подготовка к нему забирает почти все силы и время. Сделать интересный, технически дотошный и просто нескучный доклад это целая наука (кто бы знал да). Для большинства спикеров это будет «самый первый раз», поэтому мы вмногером практически каждую неделю делаем прогоны, делимся мнениями и стараемся конструктивно предлагать улучшения.
Немного приоткрою завесу над своим докладом — «Сигналы в Angular». Из названия не совсем понятно, а что там еще можно рассказать про сигналы? Кажется, все уже и так все знают. Тем более, название пока в статусе черновика, но, чувствую, таким оно и доедет до митапа.
Моя главная цель — донести до слушателей идею о том, что сигналы — это не просто очередная модная игрушка для разработчиков, а сдвиг устоявшихся парадигм, новый способ мыслить о данных. Я расскажу, с чего все начиналось, к чему пришло, какие бонусы и какие трейд-оффы мы получили. Будет очень интерестинг!
Если сомнения еще одолевают, а 21 ноября в календаре является свободным слотом и намекает на какую-нибудь активность, то выход есть: Centi Conf.
Буду рад всех видеть и пообщаться лично!
P.S. А еще 20 ноября будет мероприятие (возможно и сразу релиз) про 21 версию angular. Так что на митапе можно будет обсудить наисвежайшие новости.
@summon_the_coder | chat$.subscribe()
#angular #meetup #centiconf
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤13🔥7👍6🥰1👀1😘1