Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул. Алексей Сергеевич Лот

Чтение книги онлайн.

Читать онлайн книгу Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул - Алексей Сергеевич Лот страница 11

Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул - Алексей Сергеевич Лот

Скачать книгу

статья).

      Открытые переменные обычно не используют.

      Предпочтительно объявлять переменные и вспомогательные функции приватными.

      Иногда переменную или вспомогательную функцию приходится объявлять защищенной, чтобы иметь возможность обратиться к ней из класса.

      Ослабление инкапсуляции должно быть последней мерой.

      Классы должны быть максимально компактными.

      Компактность класса определяется его ответственностью.

      По имени класса можно определить его размер.

      Краткое описание класса должно укладываться в 25 слов, без выражений «если», «и», «или», «но».

      Принцип единой ответственности: SRP – класс или модуль должен иметь одну и только одну причину для изменения (одну ответственность).

      Система должна состоять из множества мелких классов со сформированной структурой.

      Класс взаимодействует с другими классами для реализации желаемого поведения системы.

      Классы должны иметь небольшое количество переменных экземпляров.

      Чем с большим числом переменных работает метод, тем выше связность этого метода со своим классом. Создавать классы с высокой связностью не рекомендуется.

      Высокая связность означает, что методы и переменные класса взаимозависимы.

      Рост числа переменных экземпляров свидетельствует о необходимости выделения класса.

      Рефакторинг может удлинить программу.

      Приватные методы, действие которых распространяется на небольшое подмножество класса, – признак возможности усовершенствований.

      Структурирование проводится с учетом изменений.

      Время, необходимое для понимания класса, падает почти до нуля.

      Вероятность того, что одна из функций нарушит работу другой, ничтожно мала.

      Принцип открытости-закрытости: классы должны быть открыты для расширений, но закрыты для модификации.

      Структура системы должна быть такой, чтобы обновление системы создавало как можно меньше проблем.

      В идеале новая функциональность должна реализовываться расширением системы, а не внесением изменений в существующий код.

      С помощью интерфейсов и абстрактных классов класс изолируется от конкретных подробностей.

      Принцип обращения зависимостей: классы системы должны зависеть от абстракций, а не от конкретных подробностей.

      В программных системах фаза инициализации, в которой конструируются объекты приложения и «склеиваются» основные зависимости, должна отделяться от логики времени выполнения, получающей управление после ее завершения.

      Инициализация – область ответственности.

      Код инициализации пишется системно и отделен от логики времени выполнения.

      Удобные идиомы не ведут к нарушению модульности.

      Приложение

Скачать книгу