🐍 Python + Ruff: сложность кода под контролем
На скрине — функция `validate_product`, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом `C901` (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.
📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.
⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании
💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных `if`
3. Упрощать логику с помощью вспомогательных функций или структур данных
#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
@python_be1
На скрине — функция `validate_product`, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом `C901` (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.
📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.
⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании
💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных `if`
3. Упрощать логику с помощью вспомогательных функций или структур данных
#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
@python_be1