category: prog, direction: basis, group: development
Принципы программирования
Категория: Программирование. Направление: Basis. Группа: Development.
Добавлено: 05-09-2025
Ключи: #basis, #development
Принцип разработки в программировании:
DRY, KISS, YAGNI, BDUF, APO, SOLID, Лезвие Оккама
DRY
Don't repeat your self.
KISS
Kip It Simple, Stupid.
YAGNI
You aren't gonna need it.
BDUF
Big Disign Up Front.
APO
Avoid Premature Optimization.
SOLID
- Single responsibility principle
- Open/Closed principle
- Liskov substitution principle
- Interface segrigation principle
- Dipendency inversion principle
Лезвие Оккама
Не плоди новые сущности без необходимости.
DRY
Don't repeat your self. -- Не повторяйся.
Если есть дублирование кода, вынеси его в отдельный метод.
KISS
Kip It Simple, Stupid. -- Делай проще.
Не усложняй код без необходимости.
YAGNI
You aren't gonna need it. -- Не храни не нужное.
Не оставляй код в срипте, если он ни когда не пригодится.
Чаще всего, если код не используется, то он ни когда не будет использован.
BDUF
Big Disign Up Front. -- Глобальное проектирование, прежде всего. Перед началом работы, нужно иметь общее представление о всех элементах проекта. Что бы понимать за что отвечает разрабатываемый элемент, нужно видеть всю картину.
APO
Avoid Premature Optimization. -- Не оптимизируй на старте.
Оптимизация на старте проекта, обычно не требуется.
Сначала нужно запустить работающий экземпляр.
Но нужно помнить, общие принципы оптимизации,
что бы уже со старта, писать поддерживаемый код.
SOLID
- Single responsibility principle
Принцип единой ответственности - Open/Closed principle
Принцип открытости/закрытости:
Класс открыт для изменений, но закрыт для модификаций. - Liskov substitution principle
Принцип подстановки Лискова:
Метод использующий методы базового объекта,
должен также успешно использовать методы дочерних объектов,
без знания о этом. - Interface segrigation principle
Принцип разделения интерфейсов: Лучше много специализированных интерфейсов,
чем один универсальный. - Dipendency inversion principle
Принцип инверсии зависимости:
Производный объект должен зависеть на абстракций.
Объект не должен зависить от реализации класса или его данных.
Лезвие Оккама
Не плоди новые сущности без необходимости.
Общий принцип, не создавать не нужные объекты.
Изначально: Если два метода, во всех равных условиях, действуют одинаково хорошо и предоставляют исчерпывающий результат, нужно оставить самое простое из них.