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


Законченные мысли отделяются пустыми строками.


Строки кода с тесной связью должны быть сжаты по вертикали.


Тесно связанные концепции не находятся в разных файлах.


Следует избегать запущенных переменных.


Читателю не нужно прыгать туда-сюда по исходным файлам и классам.


Переменные объявляются максимально близко к месту использования.


Переменные перечисляются в начале каждой функции.


Управляющие переменные циклов объявляются внутри конструкции циrла.


Переменные экземпляров объявляются в начале класса.


Если одна функция вызывает другую, то они располагаются вблизи друг друга по вертикали.


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


Концептуально родственные фрагменты кода располагаются близко друг к другу по вертикали.


Важные концепции излагаются сначала с минимальным количеством второстепенных деталей.


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


Пробелы для визуального обозначения приоритета операторов.


Длинные списки – причина для разделения на классы.


Горизонтальное выравнивание не применяется.


Отступы выделяют области видимости.


Не применяются вырожденные области видимости.


Группа разработчиков согласует единый стиль форматирования.


Код продукта оформлен в едином стиле.


Внешний пользователь не в курсе деталей реализации.


Методы интерфейса устанавливают политику доступа к данным.


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


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


Объекты скрывают свои данные за абстракциями и предоставвляют функции, работающие с этими данными.


Структуры данных раскрывают свои данные и не имеют осмысленных функций.


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


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


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


ООП-код усложняет добавление новых функций, так как требуется изменение всех классов.