Русский
Открыть в Telegram

ПостНе нарушайте принцип единственной ответственности

18 сентября 2026
P
Python Ninja | Программирование
Фотография
нажмите — покажем
Не нарушайте принцип единственной ответственности Функция должна делать одну вещь, делать её хорошо и только её. Эта функция делает слишком много: def calculate_final_total( price: float, quantity: int, discount_rate: float, tax_rate: float ) -> float: # Расчёт промежуточной суммы subtotal = price * quantity # Применение скидки discounted_amount = subtotal * (1 - discount_rate) # Расчёт налога final_total = discounted_amount * (1 + tax_rate) return final_total Проблема здесь в том, что расчёт промежуточной суммы, скидки и налога объединён в одну функцию. Любое изменение одного из этапов может повлиять на весь расчёт. Лучше разбить логику на небольшие специализированные функции: def calculate_subtotal(price: float, quantity: int) -> float: return price * quantity def apply_discount(subtotal: float, discount: float) -> float: return subtotal * (1 - discount) def calculate_tax(amount: float, tax_rate: float) -> float: return amount * (1 + tax_rate) Так намного лучше. Небольшие функции с одной задачей проще покрывать модульными тестами, потому что у них меньше зависимостей и требуется меньше моков. Кроме того, изолированные компоненты проще переиспользовать в разных частях приложения или конвейера, не подтягивая лишние зависимости. Поэтому держите функции простыми и сфокусированными. Одна функция — одна ответственность. ✈️ Python Ninja
6 · 484 ·

Рядом в ленте

PPython Ninja | ПрограммированиеГайд по основным командам для диагностики сетей, которые должен знать каждый Sysadmin. Сравнение инструментов, используемых в системах Linux/macOS и Windows. ✈️PPython Ninja | ПрограммированиеЭто что за имба An Introduction to Statistical Learning это полноценный учебник по статистике, Machine Learning. Бесплатная учебная база: регуляризация, классиф
это сообщение
PPython Ninja | ПрограммированиеНебольшой факт про Python. Оператор := называют «моржом» из-за того, что символы напоминают глаза и бивни моржа. Он появился в Python 3.8 и позволяет одновременPPython Ninja | ПрограммированиеОдно из главных правил GROUP BY в SQL. Если в SELECT есть столбец без агрегатной функции, он должен либо входить в GROUP BY, либо однозначно определяться сгрупп
PPython Ninja | ПрограммированиеPython Ninja | Программирование@python_Ninjas · канал · Технологии
6 808подписчиков330средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем