Ответ
DRY (Don't Repeat Yourself) — принцип разработки, направленный на минимизацию дублирования кода. Основная идея — выделять повторяющиеся фрагменты в отдельные функции, модули или структуры, чтобы упростить поддержку и избежать ошибок при изменении логики.
Пример нарушения DRY:
func calculateArea(width, height int) int {
return width * height
}
func calculatePerimeter(width, height int) int {
return 2 * (width + height)
}
Пример с применением DRY:
type Rectangle struct {
Width int
Height int
}
func (r Rectangle) Area() int {
return r.Width * r.Height
}
func (r Rectangle) Perimeter() int {
return 2 * (r.Width + r.Height)
}
Преимущества:
- Уменьшение дублирования
- Упрощение тестирования
- Лёгкость рефакторинга
Но важно не переусердствовать — избыточная абстракция может усложнить код.
Видео-ответы
▶
Как нужно проходить собеседование по Python, чтобы получить оффер!
▶
Собеседование в МТС: Middle Java разработчик не справился!
▶
Сеньор хочет стать миддлом??? / Техсобес Senior QA Auto на позицию Middle Python Developer
▶
Чего крепкому Middle-разработчику не хватает до Senior? / Техсобес на позицию Middle Python Dev
▶
Очень сильный Middle в 22 года?? / Техсобес студента на позицию Middle Python Developer
▶
ПРОВАЛИЛ СОБЕС. Frontend ЗП 180к. REACT LIVE CODING
▶
Собеседование на Middle PHP разработчика (офер получен)
▶
#1 Cобеседование Middle Frontend разработчика
▶
#3. Java-Mentor: Мидл без опыта. Выпускник JM + School21 Frontend Dev. Публичное собеседование.
▶
Джун-самоучка получил оффер всего за день? / Техсобес Junior Python Developer / Mock interview
▶
Тестовое интервью Тани на позицию Junior Python-разработчик
▶
Техническое собеседование с подписчиком на frontend intern/junior: JS, React, Next, HTML, CSS, REST
▶
Frontend собеседование. Пятеро на одного. Устоял или сдался?
▶
САМОЕ ЖЕСТКОЕ СОБЕСЕДОВАНИЕ JUNIOR REACT
▶
Гриша Скобелев, Артур Власов: Публичное собеседование Junior Software Engineer
▶
Тестовое собеседование на позицию PHP-разработчика
▶
Собеседование Junior Python Developer
▶
Собеседование на позицию Java junior #1 Антон
▶
Капкаев Андрей. Junior Python developer собеседование
▶
Публичное собеседование: PHP-программист [Хекслет]
▶
Реальное собеседование Junior Android разработчика. Денис Бекк / Мобильный разработчик