Best Practice Flashcards
Какие принципы хорошего программирования бывают?
KISS, SOLID, DRY, YAGNI
Принцип KISS
KISS («Keep it simple, stupid») — принцип проектирования.
Принцип KISS утверждает, что большинство систем работают лучше всего, если они остаются простыми, а не усложняются.
Принцип DRY
Don’t repeat yourself (DRY; с англ. — «не повторяйся») — это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования.
Принцип YAGNI
YAGNI («You aren’t gonna need it»; с англ. — «Вам это не понадобится») — процесс и принцип, при котором декларируется отказ от избыточной функциональности, — то есть отказ добавления функциональности, в которой нет непосредственной надобности.
Принцип SOLID
SOLID - про классы
S - Single responsibility — принцип единственной ответственности. Каждый класс выполняет только те цели, для которых он был задуман.
O - Open-closed — принцип открытости / закрытости. Класс должен быть открыт для расширения и закрыт для модификации.
L - Liskov substitution — принцип подстановки Барбары Лисков. Объект дочернего класса должен уметь полностью заменять объект родительского класса.
Если есть функция, которая умеет работать с родительским классом. Мы в эту функцию можем передать объект дочернего класса и она должна работать.
I - Interface segregation — принцип разделения интерфейса. Лучше много мелких абстрактных классов, чем один большой.
D - Dependency inversion — принцип инверсии зависимостей. Должны быть зависимости на классах, а не классы на зависимостях.
Какие паттерны программирования есть?
Основные паттерны делятся на 3 группы:
порождающие, поведенческие, структурные
Подробнее
https://refactoring.guru/ru/design-patterns/decorator/python/example#lang-features
Conflict managment
Как разрешать конфликты
Пойти к старшему\обратиться к 3му
SDLC
Agile, SCRUM, Waterfall …