Полезные практики (SOLID KISS DRY)
1. SOLID
Это набор из пяти принципов объектно-ориентированного программирования, которые помогают создавать более гибкие и понятные программы:
- S (Single Responsibility Principle, Принцип единственной ответственности): Каждый класс или модуль должен иметь только одну причину для изменения. То есть, он должен быть ответственен только за одну задачу или функциональность.
- O (Open/Closed Principle, Принцип открытости/закрытости): Программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации. Это означает, что ты можешь добавлять новый функционал через расширение, но не изменять существующий код.
- L (Liskov Substitution Principle, Принцип подстановки Барбары Лисков): Объекты дочернего класса должны заменять объекты родительского класса без изменения поведения программы. Это означает, что подклассы должны корректно работать везде, где используется родительский класс.
- I (Interface Segregation Principle, Принцип разделения интерфейса): Не заставляй классы реализовывать интерфейсы, которые они не используют. Лучше создавать более узкие и специфичные интерфейсы для конкретных нужд.
- D (Dependency Inversion Principle, Принцип инверсии зависимостей): Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций. Это помогает уменьшить зависимость от конкретных реализаций и облегчает тестирование.
2. DRY (Don't Repeat Yourself)
Принцип DRY заключается в том, что нельзя дублировать код или логику. Если одно и то же поведение нужно в нескольких местах программы, его следует вынести в отдельную функцию или модуль. Это помогает избежать ошибок при внесении изменений (так как менять нужно будет только в одном месте) и улучшает поддержку кода.
3. KISS (Keep It Simple, Stupid)
Этот принцип напоминает, что код должен быть максимально простым и понятным. Если можно сделать решение проще, стоит это сделать. Сложность кода усложняет его понимание, поддержку и тестирование. Следовательно, лучше избегать излишней сложности, использовать понятные конструкции и писать код так, чтобы его могли легко понять другие разработчики.
Эти три практики помогут тебе писать код, который легче поддерживать, улучшать и тестировать.