"""
테스트용 샘플 코드 - 인터페이스 문제가 없는 좋은 예시.
"""

from typing import Optional


def get_user(user_id: int) -> Optional[dict]:
    """사용자 정보를 반환합니다.
    
    Args:
        user_id: 사용자 ID
        
    Returns:
        사용자 정보 딕셔너리. 사용자가 없으면 None을 반환합니다.
    """
    if user_id < 0:
        return None
    return {"id": user_id, "name": "Test User"}


def calculate_total(items: list[int] | list[float]) -> float:
    """아이템들의 총합을 계산합니다.
    
    Args:
        items: 숫자 리스트
        
    Returns:
        총합
    """
    return sum(items)


class UserService:
    """사용자 서비스 클래스."""
    
    def create_user(self, name: str, email: str) -> dict:
        """사용자를 생성합니다.
        
        Args:
            name: 사용자 이름
            email: 이메일 주소
            
        Returns:
            생성된 사용자 정보
        """
        return {"name": name, "email": email}
    
    def update_user(self, user_id: int, name: str) -> Optional[dict]:
        """사용자 정보를 업데이트합니다.
        
        Args:
            user_id: 사용자 ID
            name: 새로운 이름
            
        Returns:
            업데이트된 사용자 정보. 사용자가 없으면 None을 반환합니다.
        """
        if user_id <= 0:
            return None
        return {"id": user_id, "name": name}