Решила написать про три ключевых принципа (SOLID, DRY, KISS), знания которых часто ожидают от разработчика на проектах.
Итак, DRY - "Не повторяйся!".
Пример из жизни:
Представьте, что вы стали вести блог, и каждый пост начинает с рассказа о себе "Меня зовут Х, мне 25 лет, занимаюсь тем-то тем-то, то-то". А потом вам стало 26 лет, и КАЖДЫЙ пост теперь придется исправлять, ведь информация стала неактуальной. А еще ваши читатели каждый раз должны читать одно и то же, зачем-то 🤷♂️
Пример из разработки:
На днях как раз делала подобную штуку. У меня проект с микросервисной архитектурой и на уровне каждого сервиса мы получали из секьюрити контекста данные о пользователе. Менялся этот код не часто, но дублирования было, ух. Вынесла все аккуратненько в стартер авторизации, зарегала сервисный слой в spring.factories, и все, теперь и код чище, и изменения по всем сервисам делать не придется в случае чего.
В общем, плюсы от принципа очевидны:
❗️DRY - "Не повторяйся!"
=>уменьшение дублирования
=> улучшение читаемости (все в одном месте)
=> упрощение поддержки и возможность переиспользования