Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткие ответы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
373.85 Кб
Скачать

9. Форматирование исходного кода. Цель форматирования. Вертикальное разделение концепций, вертикальное сжатие. Вертикальное расстояние

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

ВЕРТИКАЛЬНОЕ РАЗДЕЛЕНИЕ КОНЦЕПЦИЙ

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

ВЕРТИКАЛЬНОЕ СЖАТИЕ

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

ВЕРТИКАЛЬНЫЕ РАССТОЯНИЯ

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

10. Форматирование исходного кода. Цель форматирования. Горизонтальное форматирование. Горизонтальное разделение и сжатие. Отступы

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

ГОРИЗОНТАЛЬНОЕ ФОРМАТИРОВАНИЕ, РАЗДЕЛЕНИЕ И СЖАТИЕ

Горизонтальное форматирование служит для группировки взаимосвязанных компонентов и разделение разнородных. Длина строки 80-120 символов. Как правило, при горизонтальном форматировании имеют место следующие правила:

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

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

11. Объекты и структуры данных. Отличия процедурного и объектно-ориентированного кода. Случаи применения

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

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

Обратные утверждения также истинны.

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

Таким образом, то, что сложно в ОО, просто в процедурном программировании, а то, что сложно в процедурном программировании, просто в ОО!

12. Закон Деметры. Опасность построения гибридов объектов и структур данных. Объекты передачи данных и активные записи

ЗАКОН ДЕМЕТРЫ

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

ГИБРИДЫ

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]