Подтемы
Чистый код — DRY
13 вопр.
Чистый код — KISS
10 вопр.
Чистый код — Law of Demeter
13 вопр.
Чистый код — именование (Naming)
15 вопр.
Чистый код — PEP8 / ruff / black
12 вопр.
Чистый код — рефакторинг (Refactoring)
13 вопр.
Чистый код — code smells
9 вопр.
Чистый код — SOLID
19 вопр.
Чистый код — YAGNI
14 вопр.
24 вопросов
-
middle theory DRY и "rule of three" — что это и почему «не дублируй» иногда вреднее, чем дублирование?
-
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 theory Рефакторинг может привести к появлению новых зависимостей или изменению существующих. Как вы бы описали процесс анализа и минимизации потенциальных воздействий…
-
middle theory Как вы бы описали процесс рефакторинга кода, который включает в себя работу с большими данными? Какие техники рефакторинга вы бы использовали и почему?
-
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 влияет на процесс тестирования и профилирования системы.