Боритесь со сложностью
Как известно, мозг человека может одновременно рассматривать 7±2 элемента. Поэтому очень важно стремиться к снижению сложности ПО. Вот некоторые конкретные рекомендации:
- Разделите систему на подсистемы на уровне архитектуры, чтобы концентрироваться в каждый конкретный момент времени на меньшей части системы.
- Тщательно определяйте интерфейсы классов, чтобы можно было игнорировать
внутреннее устройство классов. - Поддерживайте абстракцию, формируемую интерфейсом класса, чтобы не
запоминать ненужных деталей. - Избегайте глобальных данных, потому что их использование значительно увеличивает процент кода, который нужно удерживать в уме в любой момент
времени. - Избегайте глубоких иерархий наследования, потому что они предъявляют
высокие требования к интеллекту.