Заметки:
Заметки:
...Читать далее
Заметки:
- Класс начинается со списка переменных. Сначала открытые статические, потом приватные статические, затем просто приватные. Обычных открытых переменных быть не должно.
- После переменных идут открытые функции. Приватные идут за функцией, которая их вызывает.
- Используем protected, если переменная нужна для тестов.
- Классы должны быть максимально компактными. Это основное правило для проектирования классов.
- Имя класса должно описывать то, за что класс несет ответственность. Если не получается подобрать имя, значит в классе много лишнего и надо разбить.
- Название должно укладываться в 25 символов и нельзя использовать "если", "и", "или", "но".
- Принцип единой ответственности. Клас или модуль имеют только одну причину для изменения. Интересный факт, что этот принцип самый нарушаемый у разработчиков.
- Система должна состоять из множества мелких классов, а не из небольшого числа больших.
- В классе должно быть небольшое число переменных. Каждый метод должен оперировать с одной или несколькими переменных.
- Создавать классы с максимальной связанностью не рекомендуется, но она должна быть высокой, чтобы всё существовало как единое целое.
- Если классы утрачивают связанность, то разбейте их.
- Классы должны быть открыты для расширения, но закрыты для модификаций.
- Изоляция упрощает понимание каждого элемента системы. Это также является принципом обращения зависимостей: классы должны зависеть от абстракций, а не от конкретных подробностей.