Мастер абстракций ¯_(ツ)_/¯
Email : antochi.anton@ya.ru
Читайте меня на Habr.
И помни:
1) Разбивай на части все, что только можно разбить.
2) Абстракции - твои лучшие друзья.
3) get/set доступ — это завуалированное отсутствие инкапсуляции.
4) Успешной систему делает не 100% просчет, а использование методов, позволяющих исправлять допущенные ошибки.
5) Нельзя позволять ошибкам проходить бесшумно.
6) Писать тесты, пускай и не сразу, жизненно необходимо.
7) Несколько локальных "свалок" ЛУЧШЕ, чем одна большая.
8) Грань между "плохим" и "хорошим" кодом очевидна, но между "хорошим" и "наилучшим" едва заметна.
9) Сторонние библиотеки и прочие детали реализации требуют абстрагирования.
10) Делегирование гибче наследования.
11) Для соблюдения всего вышеизложенного свой проект необходимо хотя бы немного любить.
12) Ну, и обобщая все вышесказанное: нормально делай - нормально будет.