Как стать автором
Обновить
6
0
Давид Шекунц @Dionid

Full-stack Software Engineer

Отправить сообщение

(Не)рушимые законы крутого кода: Law of Demeter (с примерами на TypeScript)

Время на прочтение 3 мин
Количество просмотров 8K
Когда я узнал об этих принципах, гибкость моего кода, по ощущениям, выросла х2, а скорость принятия решения по дизайну сущностей х5.

Если SOLID – это набор принципов написания качественного кода, то Law of Demeter (LoD) и Tell Don’t Ask (TDA) – это конкретные приемы как добиться SOLID.

Сегодня поговорим про Law of Demeter («Закон Деметры»).

Утрированно


Это принцип помогает определиться: «Как я буду получать / изменять вложенные объекты» – применим в языках, где можно определить «классы» со свойствами и методами.

Часто складывается ситуация, когда мы откуда-то (например, из HTTP запроса) получили id сущности `a`, пошли за ней в БД и из сущности `a` нам надо получить / изменить сущность `b` вызвав метод `Method`.

Так вот Википедия гласит:
Код `a.b.Method()` нарушает Закон Деметры, а код `a.Method()` является корректным.

Пример


У Пользователя есть Посты, в которых есть Комментарии. Вы хотите получить «Комментарии последнего Поста».

Можно запилить такое:
Читать дальше →
Всего голосов 20: ↑12 и ↓8 +4
Комментарии 68

Как познакомить разработчика с ценностями вашего бизнеса не прибегая к насилию

Время на прочтение 3 мин
Количество просмотров 1.5K
От автора

Тема противоречивая и есть огромное количество разработчиков и менеджеров, которые не задумываются про правила и способы коммуникации друг между другом, а тем более про коммуникацию разработчиков и клиентов.

Но для меня и моих команд подобные барьеры преодолевались (и не раз) и давали отличные результаты, поэтому не могу не поделиться успешным опытом:

Итак


image
Бизнес есть Бизнес, Разработка есть Разработка, и не встретиться им никогда, пока…

Видел статью о том, как подружить кошку с собакой. Лайфхак от мамкиных бихевиористов:

«Положить собаку на бок и к ее спине спиной приложить кошку. Они не будут видеть друг друга, а только чувствовать запах. Такое упражнение поможет вызвать доверие у животных. Начинайте гладить обеих под расслабляющую музыку

Решение годное для нишевого interspecies threesome, наверное. Попробовал — чуть не лишился глаза и кошки.

Примерно такие же потери и чувства у меня вызывает вопрос знакомства «бизнеса» и «разработки».

Но в этом контексте мой кейс менее травмоопасен. Я считаю, что знакомить бизнес и разработку нужно дозированно и ненавязчиво.
Читать дальше →
Всего голосов 10: ↑5 и ↓5 0
Комментарии 17

Пересядь с иглы WordPress на Static Site Generator и Headless CMS #нивкакиестэки

Время на прочтение 13 мин
Количество просмотров 26K
Что делать, если WordPress (WP) уже не вставляет, а сайт пилить надо? Кейс авторского блога на Static Site Generator (SSG) и Headless CMS (HCMS).

Разбираем достоинства связки SSG + HCMS для программистов, диджитал номадов и современных контент-мейкеров.

I. Я устал, я ухожу


image

Меня зовут Давид. Вот уже шесть лет я каждый день пользуюсь WordPress. Я устал от такой жизни. Дал себе обещание найти новые решения для создания авторского контента.

Так я наткнулся на Static Site Generator (SSG) и Headless CMS (HCMS), потыкался и влюбился.

О причинах моей влюбленности сегодня и хочу рассказать.
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Комментарии 28

Почему лучше заранее компилировать TS в JS

Время на прочтение 2 мин
Количество просмотров 7.3K
Однажды встал вопрос: «Использовать ранеры, которые будут на лету компилировать TypeScript в JavaScript (например, node-ts), или компилировать самому заранее (например, через `tsc`) и запускать уже JavaScript код?» – гугление не дало четкого ответа, поэтому я сформулировал его императивным путем:
TypeScript стоит компилировать заранее, через специализированные компиляторы (например, tsc) и запускать уже JS код.

Пара злободневных причин:
Читать дальше →
Всего голосов 15: ↑7 и ↓8 -1
Комментарии 17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность