Ответ
DRY (Don’t Repeat Yourself) — принцип разработки программного обеспечения, направленный на минимизацию дублирования логики и знаний в системе. Каждая часть знания должна иметь единственное, однозначное и авторитетное представление в рамках системы.
Цель:
- Упрощение поддержки и модификации кода.
- Снижение вероятности ошибок из-за рассинхронизации копий.
- Повышение читаемости и переиспользования кода.
Пример нарушения DRY (Swift):
// Дублирование формулы расчета площади круга
func calculateAreaForCircleA(radius: Double) -> Double {
return Double.pi * radius * radius
}
func calculateAreaForCircleB(radius: Double) -> Double {
return 3.14159 * radius * radius // Разная константа!
}
Пример соблюдения DRY:
// Знание о расчете площади инкапсулировано в одном месте
struct Circle {
let radius: Double
private static let pi = Double.pi
func area() -> Double {
return Circle.pi * radius * radius
}
}
// Использование
let circle = Circle(radius: 5.0)
let area = circle.area()
Почему это важно? Если потребуется изменить формулу или константу, правка вносится только в одном месте — в методе area() структуры Circle.