🐍 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
🐍 Изучаем MCP на Python — серия уроков от Microsoft
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@python_be1
Пошаговое руководство для Python-разработчиков по Model Context Protocol (MCP):
как понять концепцию и построить свой MCP-сервер в интерактивном формате.
📚Репозиторий с гайдом (https://github.com/microsoft/lets-learn-mcp-python)
#python #MCP #tutorial #developers
@python_be1