Programming & QA
331 subscribers
271 photos
177 links
Smartiqa - платформа о технологиях, программировании и тестировании ПО.

Сайт: https://smartiqa.ru
Канал YouTube: https://www.youtube.com/channel/UCk_7MNLSD0S2fxi0EQ-V6lQ
Vkontakte: https://vk.com/smartiqa
Vkontakte Python: https://vk.com/smartiqa_python
Download Telegram
Вопрос №103

Тема: Основы программирования. Проектирование.

Q: Расскажите про Принцип подстановки Барбары Лисков.

A: Наследующий класс должен дополнять, а не замещать поведение базового класса. Если класс Б унаследован от А, то мы можем заменить в программе все использования класса А на Б и при этом в работе программы ничего не изменится.
Вопрос №104

Тема: Основы программирования. Проектирование.

Q: Что такое инверсия управления?

A: Явление, при котором роль главной программы в координации и последовательности действий приложения выполняет фреймворк (а не код пользователя). В этом основное отличие фреймворка и библиотеки. Библиотека - это набор функций, которые вызываются кодом пользователя, а после окончания выполнения возвращают управление пользователю. В случае с фреймворком он сам координирует и вызывает код пользователя.
Вопрос №105

Тема: Основы программирования. Проектирование.

Q: Хорошо спроектированное ПО должно обладать сильным сцеплением и слабой связностью. Что это значит?

A: Сцепление - сила зависимостей внутри модуля. Связность - сила зависимостей между разными модулями. Итог: внутри модуля должны быть сильные зависимости, а снаружи - нет.
👍3
Вопрос №106

Тема: Основы программирования. Проектирование.

Q: Нужны ли комментарии в коде?

A: Нужно стараться писать код так, чтобы комментарии были не нужны.
🔥4👍1
Вопрос №107

Тема: Основы программирования. Проектирование.

Q: Расскажите про паттерн проектирования Singleton (Одиночка).

A: Гарантирует существование только одного объекта класса.
🔥2👍1
Вопрос №108

Тема: Основы программирования. Проектирование.

Q: Расскажите про паттерн проектирования Observer (Наблюдатель).

A: Наблюдаем за списком объектов. При возникновении события оповещаем каждый их них.
Вопрос №109

Тема: Основы программирования. Проектирование.

Q: Расскажите про паттерн проектирования Abstract Factory (Абстрактная фабрика).

A: В приведенном примере метод create_form_with_buttons(factory) создает объекты классов Form и Button на основе переданной фабрики (LinuxFactory или WindowsFactory). Класс AbstractFactory определяет фабричные методы create_form() и create_button() и передает их по наследству классам LinuxFactory и WindowsFactory.
🔥1
Вопрос №110

110
Тема: Основы программирования. Проектирование.

Q: Что такое Принцип YAGNI?

A: Расшифровывается как You Aren't Gonna Need It (Вам это не понадобится). Пишем код, только если уверены, что он нужен. При рефакторинге не боимся удалять ненужные методы.
👍2
👍4
Вопрос №111

Тема: Основы программирования. Проектирование.

Q: Что такое Принцип DRY?

A: Расшифровывается как Don't Repeat Yourself (Не повторяйтесь). Нужно избегать дублирования кода.