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
Вопрос №112

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

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

A: Расшифровывается как Keep It Simple, Stupid (Будь проще). Чем проще, тем надежнее.
Вопрос №113

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

Q: Что такое Принцип Big Design Up Front?

A: Переводится как "Глобальное проектирование прежде всего". Сначала проектируем, и только потом приступаем к реализации.
Вопрос №115

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

Q: Что такое Принцип SOLID? На какие под-принципы его можно разделить?

A: Делится на 5 принципов.

1) S (Single-responsibility principle): каждый класс/метод должен отвечать только за что-то одно.

2) O (Open–closed principle): Программные объекты должны быть открыты для расширения, но закрыты для модификации. Пример - наследование.

3) L (Liskov substitution principle): Можно заменить использование класса-родителя его потомком и в работе программы ничего не изменится.

4) I (Interface segregation principle): Объекты не должны зависеть от интерфейсов, которые они используют. То есть если мы создаем интерфейс, то не нужно делать обязательными методы, которые пригодятся только некоторым объектам, использующим этот интерфейс. Например интерфейс Animal с методами eat() и fly() - не все животные могут летать.

5) D (Dependency inversion principle): Объекты программы должны иметь слабую связность с другими объектами. Нужно полагаться на абстракции, а не на конкретные реализации. Например, можно сделать абстракцию над Datetime() классом. И тогда при смене поставщика даты, нужно будет внести изменения только внутри этой абстракции.
👍1
👍2
👍4
Вопрос №116

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

Q: Что такое Бритва Оккама?

A: Не нужно множить сущности без необходимости.
🔥1
Вопрос №117

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

Q: Что такое Окно Овертона?

A: Это методика последовательного воздействия на разум общества, разделенная на 6 стадий: «Немыслимо», «Радикально», «Возможно», «Разумно», «Популярно», «Норма». Применительно к IT: когда приносим новую идею/фичу/подход на реализацию, то можем столкнуться с активным сопротивлением. Но если постепенно приходить с этой идей снова и снова (то есть двигать окно), то с большой вероятностью удастся ее популяризовать.
Вопрос №118

Тема: Языки программирования

Q: Какие ЯП называются императивными?

A: Императивные (процедурные и объектно-ориентированные) ЯП. При таком подходе программа представляет собой совокупность инструкций, которые изменяют состояние данных. Примеры: С++, Java, Ruby, Python.
👍1
Вопрос №119

Тема: Языки программирования

Q: Какие ЯП называются функциональными?
A: Функциональные ЯП. Обходимся вычислением результатов функций от исходных данных и результатов других функций, и не предполагаем явное хранение состояния. Примеры: Haksell, Erlang.
👍1
Вопрос №120

Тема: Языки программирования

Q: Что такое компилятор?

A: Транслирует программу на языке высокого уровня в программу на низкоуровневом языке, близком машинному коду. На выходе - исполняемый файл. Пример: C++
👍5
Вопрос №121

Тема: Языки программирования

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

A: Построчно выполняет инструкции кода на высокоуровневом языке. Пример: Python
Вопрос №122

Тема: Языки программирования

Q: Какие ЯП считаются высокоуровневыми?

A: Высокоуровневые ЯП. Легко читаются людьми. Не нужно знать, на каком оборудовании будет запускаться программа. Пример: Java, Python.
👍4
Вопрос №123

Тема: Языки программирования

Q: Какие ЯП считаются низкоуровневыми?

A: Низкоуровневые ЯП. Учитывают требования архитектуры железа. Более быстрые и эффективные, но сложные для работы.