Design patterns Flashcards
KISS
«keep it super simple»
«keep it simple, silly»
«keep it short and simple»
«keep it short and sweet»
«keep it simple and straightforward»
«keep it small and simple»
«keep it simple, soldier»
«keep it simple, sailor»
«keep it simple, sweetie»
«keep it stupidly simple»
«keep it sweet and simple».
KISS principles
- Методы должны быть небольшими (40-50 строк).
- Каждый метод решает одну проблему.
- При модификации кода в будущем не должно возникнуть трудностей.
- Система работает лучше всего, если она не усложняется без надобности.
- Не устанавливайте целую библиотеку ради одной функции из неё.
- Не делай того, что не просят.
- Писать код необходимо надежно и «дубово».
YAGNI
You are not gonna need it
YAGNI principles
- Реализуйте только то, что нужно здесь и сейчас, а не в теории, что оно пригодится в будущем.
- Подчищайте ненужный код (найдите через Git историю при надобности).
- Программист не должен добавлять новый функционал, о котором его не просят.
DRY
Don’t Repeat Yourself
DRY principles
- Избегайте копирования кода.
- Выносите общую логику.
- Прежде чем добавлять функционал, проверьте в проекте, может, он уже создан.
- Константы.
BDUF
Big Design Up Front
BDUF principles
- Прежде чем переходить к реализации, убедитесь, что все продумано.
- Разработчик должен сначала завершить проектирование. После этого проект можно реализовать.
- Разделите требования на несколько этапов, определите приоритеты, начинайте с этапа с наивысшим приоритетом.
- Обсудите архитектуру проекта с командой и другими людьми, которые участвуют в проекте до старта.
SRP
Single Responsibility Principle (часть SOLID)
SRP principles
Принцип ООП.
Каждый объект должен иметь одну ответственность и эта ответственность должна быть полностью инкапсулирована в класс. Все его поведения должны быть направлены исключительно на обеспечение этой ответственности.