테스트 강화 및 코드 품질 개선

This commit is contained in:
2025-12-17 00:01:46 +09:00
parent 37a150bd0d
commit 00c57ddd32
51 changed files with 10670 additions and 217 deletions

55
src/constants.py Normal file
View File

@@ -0,0 +1,55 @@
# src/constants.py
"""프로젝트 전역 상수 정의.
Magic Number를 제거하고 의미를 명확히 하기 위한 상수 모음입니다.
"""
# ============================================================================
# Telegram 관련 상수
# ============================================================================
TELEGRAM_RATE_LIMIT_DELAY = 0.5 # 메시지 간 대기 시간 (초)
TELEGRAM_MAX_MESSAGE_LENGTH = 4000 # Telegram API 제한 (실제 4096, 안전 마진)
TELEGRAM_REQUEST_TIMEOUT = 20 # Telegram API 요청 타임아웃 (초)
# ============================================================================
# Retry 관련 상수
# ============================================================================
DEFAULT_RETRY_COUNT = 3 # 기본 재시도 횟수
DEFAULT_RETRY_BACKOFF = 0.2 # 재시도 백오프 초기값 (초)
MAX_RETRY_BACKOFF = 2.0 # 최대 백오프 시간 (초)
BALANCE_RETRY_BACKOFF = 0.2 # 잔고 조회 재시도 백오프 (초)
ORDER_RETRY_DELAY = 1.0 # 주문 재시도 간 대기 (초)
# ============================================================================
# Cache TTL 관련 상수
# ============================================================================
OHLCV_CACHE_TTL = 300 # OHLCV 데이터 캐시 TTL (5분)
PRICE_CACHE_TTL = 2.0 # 현재가 캐시 TTL (2초)
BALANCE_CACHE_TTL = 2.0 # 잔고 캐시 TTL (2초)
# ============================================================================
# Order 관련 상수
# ============================================================================
ORDER_MONITOR_INITIAL_DELAY = 1.0 # 주문 모니터링 초기 대기 (초)
ORDER_MONITOR_MAX_DELAY = 5.0 # 주문 모니터링 최대 대기 (초)
# ============================================================================
# File 관련 상수
# ============================================================================
PENDING_ORDER_TTL = 86400 # Pending Order TTL (24시간, 초)
# ============================================================================
# ThreadPool 관련 상수
# ============================================================================
THREADPOOL_MAX_WORKERS_CAP = 8 # ThreadPoolExecutor 상한 (확장 가능하도록 상수화)
# ============================================================================
# Log Rotation 관련 상수
# ============================================================================
LOG_MAX_BYTES = 10 * 1024 * 1024 # 10MB per file
LOG_BACKUP_COUNT = 7 # 최대 7개 백업 파일 유지
# ============================================================================
# Order 관련 추가 상수
# ============================================================================
ORDER_MAX_RETRIES = 3 # 주문 최대 재시도 횟수