Skip to content

Урок 11. DRY. DIE. KISS.

В программировании существуют несколько принципов, которые помогают разработчикам создавать чистый, поддерживаемый и эффективный код. Среди них выделяются принципы DRY, DIE и KISS. Давайте рассмотрим каждый из них подробнее.

1. DRY (Don't Repeat Yourself)

Принцип: Не повторяйте себя. Этот принцип утверждает, что информация должна быть представлена в системе единожды. Если вы обнаружили, что один и тот же код или логика повторяются в нескольких местах, это может привести к ошибкам и усложнению поддержки.

Пример: Вместо того чтобы дублировать код для расчета площади круга в нескольких местах, создайте отдельный метод.

public class Circle {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double area() {
        return Math.PI * radius * radius;
    }
}

// Использование
Circle circle1 = new Circle(5);
Circle circle2 = new Circle(10);
System.out.println("Area of circle1: " + circle1.area());
System.out.println("Area of circle2: " + circle2.area());

2. DIE (Duplication Is Evil)

Принцип: Дублирование — это зло. Этот принцип является расширением DRY и подчеркивает, что дублирование кода может привести к ошибкам и усложнению поддержки. Если вы измените один экземпляр дублированного кода, вам нужно будет изменить все остальные, что увеличивает вероятность ошибок.

Пример: Если у вас есть несколько классов, которые выполняют схожие действия, лучше создать общий базовый класс или интерфейс.

public interface Shape {
    double area();
}

public class Circle implements Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double area() {
        return Math.PI * radius * radius;
    }
}

public class Rectangle implements Shape {
    private double width;
    private double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    @Override
    public double area() {
        return width * height;
    }
}

// Использование
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(4, 6);
System.out.println("Area of circle: " + circle.area());
System.out.println("Area of rectangle: " + rectangle.area());

3. KISS (Keep It Simple, Stupid)

Принцип: Держите это просто, глупо. Этот принцип утверждает, что системы должны быть как можно проще. Сложные решения могут привести к ошибкам и затруднениям в понимании кода. Простота делает код более понятным и легким в поддержке.

Пример: Вместо создания сложной иерархии классов для решения простой задачи, используйте простые структуры данных и методы.

public class SimpleCalculator {
    public int add(int a, int b) {
        return a + b;
    }

    public int subtract(int a, int b) {
        return a - b;
    }
}

// Использование
SimpleCalculator calculator = new SimpleCalculator();
System.out.println("Sum: " + calculator.add(5, 3));
System.out.println("Difference: " + calculator.subtract(5, 3));

Заключение

Принципы DRY, DIE и KISS помогают разработчикам создавать более чистый, поддерживаемый и эффективный код. Следуя этим принципам, вы можете уменьшить количество ошибок, упростить поддержку и улучшить читаемость вашего кода. Эти принципы являются основой хорошего программирования и должны быть учтены на всех этапах разработки.