Подтемы
Чистый код — DRY
13 вопр.
Чистый код — KISS
10 вопр.
Чистый код — Law of Demeter
13 вопр.
Чистый код — именование (Naming)
15 вопр.
Чистый код — PEP8 / ruff / black
12 вопр.
Чистый код — рефакторинг (Refactoring)
13 вопр.
Чистый код — code smells
9 вопр.
Чистый код — SOLID
19 вопр.
Чистый код — YAGNI
14 вопр.
96 вопросов
-
middle theory DRY и "rule of three" — что это и почему «не дублируй» иногда вреднее, чем дублирование?
-
middle correct_vs_wrong Какой код нарушает Law of Demeter (закон Деметры)?
-
middle correct_vs_wrong Два варианта подсчёта стоимости заказа с разными типами скидок. Какой соответствует OCP?
-
middle mcq Dependency Inversion Principle — что из ниже перечисленного НЕ его формулировка?
-
middle theory Что такое "fat interface" и как его исправить по ISP?
-
middle theory YAGNI vs «защита от будущих изменений» — где граница?
-
middle theory Расскажите, как можно применить Dependency Inversion Principle (DIP) при разработке системы логирования. Приведите пример архитектуры, где высокий уровень моду…
-
middle theory Представьте, что у вас есть интерфейс IShape с методами CalculateArea() и CalculatePerimeter(). Класс Square реализует этот интерфейс, но в будущем может появи…
-
middle theory Как вы реализуете Open/Closed Principle (OCP) при добавлении новых типов скидок в систему расчета стоимости заказа? Опишите структуру кода, которая позволяет р…
-
middle theory Какие правила хорошего naming в коде? Примеры плохого и хорошего. Когда сокращения уместны.
-
middle theory Перечисли 5 главных code smells. Как их распознавать и что с ними делать.
-
middle theory Как вы подходите к рефакторингу кода, написанного в стиле PEP8, но не соответствующего современным стандартам? Каковы ваши приоритеты и чем руководствоваться п…
-
middle theory Как вы подходите к интеграции автоформаттеров в проект? Какие trade-offs вы рассматриваете и чем руководствоваться при принятии решений?
-
middle theory Как вы бы назвали переменную, которая представляет собой идентификатор пользователя в базе данных? Каким образом вы бы определили, что такое хорошее именование…
-
middle theory Как вы бы подходили к именованию функций, которые имеют одинаковый набор параметров, но разную логику? Например, `calculate_total_price` и `calculate_subtotal_…
-
middle theory Как вы бы подходили к именованию констант, которые представляют собой набор правил или ограничений? Например, `MIN_PASSWORD_LENGTH` или `MAX_USERNAME_LENGTH`. …
-
middle theory Опишите сценарий, когда code smell может привести к масштабной проблеме в системе. Приведите примеры и расскажите о том, как их можно предотвратить.
-
middle mcq Какие два code smells могут привести к проблемам с масштабированием при работе с большими данными?
-
middle mcq Какой code smell может привести к проблемам с тестированием системы?
-
middle theory Рефакторинг может привести к появлению новых зависимостей или изменению существующих. Как вы бы описали процесс анализа и минимизации потенциальных воздействий…
-
middle theory Как вы бы описали процесс рефакторинга кода, который включает в себя работу с большими данными? Какие техники рефакторинга вы бы использовали и почему?
-
middle mcq Как вы бы рефакторили код, который включает в себя работу с большими данными и имеет проблемы с производительностью?
-
middle theory Предположим, у нас есть функция `get_user_data()` которая вызывается из нескольких мест в коде. Если мы хотим изменить этот метод, чтобы он теперь возвращает н…
-
middle theory Предположим, у нас есть система, которая использует принципы DRY и имеет много повторяющихся блоков кода. Однако, время от времени нам необходимо добавлять нов…
-
middle theory Предположим, вы пишете функцию, которая парсит XML-документ и возвращает список объектов. Как вы будете организовать этот код, чтобы он был максимально чистым …
-
middle theory Предположим, у вас есть функция, которая выполняет некоторую операцию с данными и может занять время. Как вы будете оптимизировать этот код, чтобы он соответст…
-
middle theory Опишите сценарий, когда Law of Demeter (закон Деметры) может привести к усложнению кода и увеличению связанности между модулями?
-
middle theory Как вы бы решили проблему тестирования класса, который depends на другой класс через интерфейс, но содержит сложные бизнес-логику?
-
middle theory Опишите сценарий, когда принцип YAGNI может конфликтовать с требованием к высокому уровню fault tolerance в системе.
-
middle theory Опишите, как принцип YAGNI влияет на процесс тестирования и профилирования системы.
-
middle quiz Какой из следующих подходов к применению DRY может привести к увеличению сложности системы и затруднению отладки?
-
middle quiz В каком случае использование DRY может быть менее предпочтительным, чем дублирование кода?
-
middle quiz Какой из следующих факторов может сделать общий компонент менее эффективным по сравнению с дублирующимся кодом?
-
middle quiz Какой из следующих способов может помочь избежать проблем с DRY в больших системах?
-
middle quiz Какой из следующих аспектов может быть причиной того, что DRY не всегда является лучшим решением?
-
middle quiz Какой из следующих факторов может быть признаком того, что DRY применяется неправильно?
-
middle quiz Какой из следующих факторов может быть причиной того, что общий компонент не подходит для повторного использования?
-
middle quiz Какой из следующих аспектов может быть важным при принятии решения о применении DRY?
-
middle quiz Какой из следующих подходов к обработке ошибок лучше соответствует принципу KISS?
-
middle quiz Какой из следующих подходов к написанию комментариев соответствует принципу KISS?
-
middle quiz Какой из следующих способов рефакторинга кода соответствует принципу KISS?
-
middle quiz Какой из следующих способов обработки данных в API соответствует принципу KISS?
-
middle quiz Какой из следующих способов управления состоянием соответствует принципу KISS?
-
middle quiz Какой из следующих подходов к проектированию классов нарушает Law of Demeter?
-
middle quiz В каком случае Law of Demeter может привести к увеличению числа промежуточных методов?
-
middle quiz Какой из следующих подходов наиболее эффективно помогает соблюдать Law of Demeter?
-
middle quiz Как Law of Demeter влияет на тестирование кода?
-
middle quiz Какой из следующих примеров не нарушает Law of Demeter?
-
middle quiz Какой из следующих подходов может быть использован для уменьшения связанности в коде, согласно Law of Demeter?
-
middle quiz Какой из следующих факторов может привести к ухудшению производительности при строгом соблюдении Law of Demeter?
-
middle quiz Какой из следующих примеров может быть результатом неправильного применения Law of Demeter?
-
middle quiz Какое из следующих имен переменной лучше всего отражает её назначение в контексте обработки пользовательских данных?
-
middle quiz Какой из следующих подходов к именованию методов наиболее предпочтителен для метода, который проверяет, является ли пользователь администратором?
-
middle quiz Какое имя класса лучше всего отражает его назначение, если он отвечает за обработку данных о заказах?
-
middle quiz Какое имя переменной лучше всего отражает её назначение, если она хранит результат выполнения сложного запроса к базе данных?
-
middle quiz Какое из следующих имен функции лучше всего отражает её назначение, если она отвечает за отправку уведомления пользователю?
-
middle quiz Какое имя переменной лучше всего отражает её назначение, если она хранит количество попыток входа пользователя?
-
middle quiz Какое имя метода лучше всего отражает его назначение, если он отвечает за обновление данных пользователя?
-
middle quiz Какое имя переменной лучше всего отражает её назначение, если она хранит флаг, указывающий, был ли пользователь авторизован?
-
middle quiz Какое имя метода лучше всего отражает его назначение, если он отвечает за проверку корректности email?
-
middle quiz Какой из следующих подходов к использованию автоформаттеров (black/ruff) наиболее эффективен для команды, которая хочет сохранить единообразие кода при минимал…
-
middle quiz Какой из следующих факторов наиболее критичен при выборе между black и ruff для проекта?
-
middle quiz Какой из следующих способов наиболее эффективно устраняет конфликты между black и ruff?
-
middle quiz Какой из следующих подходов к применению PEP8 наиболее уместен в проекте с уже существующим кодом?
-
middle quiz Какой из следующих факторов наиболее важен при интеграции PEP8 в CI/CD?
-
middle quiz Какой из следующих факторов наиболее важен при использовании автоформаттеров в команде?
-
middle quiz Какой из следующих факторов наиболее важен при настройке CI/CD для автоматического форматирования?
-
middle quiz Какой из следующих подходов к рефакторингу наиболее эффективен для уменьшения связанности между модулями?
-
middle quiz Какой из следующих этапов рефакторинга наиболее критичен для предотвращения регрессий?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на выбор подхода к рефакторингу в production-среде?
-
middle quiz Какой из следующих методов наиболее эффективен для выявления проблем в коде перед рефакторингом?
-
middle quiz Какой из следующих подходов к рефакторингу может привести к увеличению времени на разработку, но уменьшению времени на поддержку?
-
middle quiz Какой из следующих инструментов наиболее полезен для автоматизации рефакторинга?
-
middle quiz Какой из следующих подходов наиболее эффективен для уменьшения дублирования кода?
-
middle quiz Какой из следующих факторов может привести к неудачному рефакторингу?
-
middle quiz Какой из следующих подходов наиболее эффективен для улучшения читаемости кода?
-
middle quiz Какой из следующих code smells может затруднить отладку в многопоточной среде?
-
middle quiz Какой из следующих code smells может затруднить понимание логики при работе с большими системами?
-
middle quiz Какой из следующих code smells может привести к трудностям при рефакторинге?
-
middle quiz Какой из следующих подходов наиболее эффективно помогает избежать нарушения принципа Open/Closed Principle при добавлении нового функционала?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа Liskov Substitution Principle (LSP) в реальных проектах?
-
middle quiz Какой из следующих подходов наиболее эффективно помогает избежать нарушения принципа Interface Segregation Principle (ISP)?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа Dependency Inversion Principle (DIP) в больших системах?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа Single Responsibility Principle (SRP) в реальных проектах?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа YAGNI в контексте SOLID?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа SOLID в системах с высокой нагрузкой?
-
middle quiz Какой из следующих факторов наиболее сильно влияет на соблюдение принципа SOLID при рефакторинге существующего кода?
-
middle quiz Какой из следующих подходов к реализации функциональности лучше соответствует принципу YAGNI?
-
middle quiz Какой из следующих подходов к профилированию системы лучше соответствует YAGNI?
-
middle quiz Как YAGNI влияет на архитектурные решения?
-
middle quiz Как YAGNI влияет на документацию?
-
middle quiz Как YAGNI влияет на процесс рефакторинга?
-
middle quiz Как YAGNI влияет на выбор инструментов и библиотек?
-
middle quiz Как YAGNI влияет на разработку функциональности с высокой степенью модульности?
-
middle quiz Как YAGNI влияет на обработку ошибок?
-
middle quiz Как YAGNI влияет на разработку API?