Встречается на собеседованиях • сегодня
В чем разница между доменной сложностью и привнесённой
Доменная сложность (domain complexity) связана с самой предметной областью и её внутренними правилами. Например, сложность алгоритмов для банковских транзакций или медицинской диагностики.
Привнесённая сложность (accidental complexity) возникает из-за выбранных инструментов, фреймворков или архитектурных решений. Например, избыточные абстракции или сложность из-за legacy-кода.
Пример:
python
# Доменная сложность: валидация email по спецификации RFC
import re
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return bool(re.match(pattern, email))
# Привнесённая сложность: избыточный класс для той же валидации
class EmailValidator:
def __init__(self, email):
self.email = email
def validate(self):
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return bool(re.match(pattern, self.email))Доменная сложность неизбежна, а привнесённую можно уменьшить через рефакторинг.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы