Профессиональный Генератор Кода
Генерирует production-ready код с чистой архитектурой, документацией, обработкой ошибок и тестами по вашему ТЗ.
Пример ответа
🚀 Сгенерированный Python Калькулятор
from typing import Union, List
import logging
from datetime import datetime
class ProfessionalCalculator:
"""Профессиональный калькулятор с полной обработкой ошибок."""
def __init__(self):
self.history: List[str] = []
self.logger = self._setup_logger()
def _setup_logger(self) -> logging.Logger:
"""Настройка логирования операций."""
logger = logging.getLogger(self.__class__.__name__)
logger.setLevel(logging.INFO)
if not logger.handlers:
handler = logging.StreamHandler()
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
def calculate(self, expression: str) -> Union[int, float]:
"""
Безопасное вычисление математических выражений.
Args:
expression: Математическое выражение в виде строки
Returns:
Результат вычисления
Raises:
ValueError: При некорректном выражении
ZeroDivisionError: При делении на ноль
"""
try:
# Валидация входных данных
if not isinstance(expression, str):
raise TypeError("Выражение должно быть строкой")
# Очистка от пробелов
clean_expr = expression.strip()
if not clean_expr:
raise ValueError("Пустое выражение")
# Безопасное вычисление
allowed_chars = set("0123456789+-*/.() ")
if not all(char in allowed_chars for char in clean_expr):
raise ValueError("Недопустимые символы в выражении")
result = eval(clean_expr)
# Логирование операции
log_entry = f"{{clean_expr}} = {{result}}"
self.history.append(log_entry)
self.logger.info(f"Вычисление: {{log_entry}}")
return result
except ZeroDivisionError:
self.logger.error("Попытка деления на ноль")
raise ZeroDivisionError("Деление на ноль невозможно")
except (SyntaxError, NameError) as e:
self.logger.error(f"Синтаксическая ошибка: {{e}}")
raise ValueError(f"Некорректное выражение: {{expression}}")
def get_history(self) -> List[str]:
"""Получить историю вычислений."""
return self.history.copy()
def clear_history(self) -> None:
"""Очистить историю вычислений."""
self.history.clear()
self.logger.info("История очищена")
# Пример использования
if __name__ == "__main__":
calc = ProfessionalCalculator()
# Примеры вычислений
examples = ["2 + 3 * 4", "(10 - 5) * 2", "100 / 4"]
for expr in examples:
try:
result = calc.calculate(expr)
print(f"{{expr}} = {{result}}")
except Exception as e:
print(f"Ошибка в {{expr}}: {{e}}")
# Показать историю
print("\nИстория вычислений:")
for entry in calc.get_history():
print(f" {{entry}}")
Особенности: Аннотации типов, обработка ошибок, логирование, чистая архитектура
Похожие промпты
Проектировщик REST API
Проектирует REST API от ресурсной модели до спецификации: маршруты, статус-коды, пагинация, версионирование и формат ошибок — с примерами запросов и ответов.
Наставник по миграции с Vue 2 на Vue 3
Строит пошаговый план миграции с Vue 2 на Vue 3 под конкретный проект: оценка блокеров, порядок работ, замена Options API и mixins, совместимость библиотек.
Ревью Vue 3 компонентов: Composition API и реактивность
Проводит ревью Vue 3 кода: потерянная реактивность, утечки в composables, перегруженные компоненты и лишние перерендеры — с правками «до/после» и объяснением механики.
Ревью backend-кода: архитектура и безопасность
Проводит ревью серверного кода: слои и границы модулей, работа с БД и транзакциями, обработка ошибок, инъекции и утечки данных — замечания ранжированы, правки «до/после».