C/C++ | Тесты
1.94K subscribers
30 photos
605 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+BTbqlW1VbIFmYmVi
Задачи t.me/+9WeVk7cGswkzNTIy
Вакансии t.me/+za2mJYs4riAzMzFi
Download Telegram
🤔 Именно override переопределяет метод?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 В каком стандарте появился override?

Ключевое слово override было введено в стандарт C++11. До его появления разработчики не могли явно указывать, что метод должен переопределять виртуальный метод базового класса. Это приводило к ошибкам, если сигнатура метода в базовом классе менялась или имя метода было неправильно написано.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🤔 До 11-го стандарта переопределение работало?

Да, методы переопределялись, если они совпадали по сигнатуре и были виртуальными. Однако ошибки могли возникать, если сигнатура базового метода изменялась.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🤔 Принцип Open/Closed (открытости/закрытости)?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Принцип подстановки Барбары Лисков?

Принцип Лисков (LSP) утверждает, что объект базового класса должен быть заменим объектом производного класса без изменения поведения программы. Производный класс не должен нарушать инварианты и контракт базового класса.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤔 Почему лучше использовать принципы SOLID?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Как убедиться, что нет багов в коде?

1. Используйте автоматические тесты (unit, integration, e2e).
2. Проводите код-ревью с коллегами.
3. Применяйте статический анализ кода и линтеры.
4. Тестируйте граничные и исключительные случаи.
5. Мониторьте поведение приложения в продакшене.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1