python-design-patterns
Python 디자인 패턴 적용
KISS, 단일 책임, 상속보다 합성과 같은 검증된 디자인 패턴을 사용하여 이해, 테스트 및 수정이 쉬운 시스템을 구축하는 유지보수 가능한 Python 코드를 작성하세요.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-design-patterns". 사용자 등록을 처리하고, 이메일을 보내고, 활동을 로깅하고, 데이터베이스에 저장하는 클래스를 리팩터링하는 방법을 보여주세요
النتيجة المتوقعة:
UserService (비즈니스 로직), UserRepository (데이터 액세스), EmailNotifier (알림), ActivityLogger (로깅)로 분할된 리팩터링된 예제 - 각각 단일 책임을 가짐.
استخدام "python-design-patterns". 주문 시스템에 결제 처리를 추가해야 합니다. 기본 Order 클래스에서 상속받아야 할까요, 아니면 합성을 사용해야 할까요?
النتيجة المتوقعة:
합성이 선호되는 이유에 대한 설명 - 결제 제공자를 교체하고, 페이크로 테스트하며, 상속 계층을 피할 수 있음. PaymentProcessor를 OrderService에 주입하는 예제 표시.
استخدام "python-design-patterns". 데이터를 약간씩 다르게 처리하는 세 개의 유사한 함수가 있습니다. 추상화를 만들어야 할까요?
النتيجة المتوقعة:
세 가지 규칙 적용 - 명확한 패턴이 나타날 때까지 기다림. 중복이 잘못된 추상화보다 나은 경우와 추상화해야 하는 경우의 예제 표시.
التدقيق الأمني
آمنAll 35 static findings are false positives. The skill is a documentation file containing Python code examples for educational purposes. Python dictionary syntax was misidentified as shell backticks, email examples as network calls, and code examples as cryptographic algorithms or reconnaissance. No actual security risks present.
درجة الجودة
ماذا يمكنك بناءه
새로운 Python 서비스 아키텍처 설계
새로운 서비스를 시작할 때, 처음부터 깔끔하고 유지보수 가능한 아키텍처를 만들기 위해 이러한 패턴을 사용하세요.
얽힌 코드 리팩터링
복잡하고 결합된 코드에 직면했을 때, 의존성을 풀기 위해 SRP와 관심사 분리를 적용하세요.
추상화 결정 평가
추상화를 만들지 여부를 결정할 때, 조숙한 일반화를 피하기 위해 세 가지 규칙을 사용하세요.
جرّب هذه الموجهات
[문제 설명]을 해결해야 합니다. 작동하는 가장 단순한 솔루션은 무엇인가요? 예를 보여주세요.
여러 가지 작업을 수행하는 제 클래스 [코드 붙여넣기]가 있습니다. 단일 책임을 가진 클래스로 어떻게 분할할 수 있나요?
공유 동작이 있는 기본 클래스가 있고 이를 확장하고 싶습니다. 상속 대신 합성을 사용하려면 어떻게 해야 하나요? 예를 보여주세요.
[애플리케이션 설명]을 계층으로 어떻게 구성해야 하나요? 예제 코드로 관심사 분리를 보여주세요.
أفضل الممارسات
- 가장 단순한 솔루션으로 시작하고 구체적인 요구사항에 의해 정당화될 때만 복잡성을 추가하세요
- 함수를 단일 목적의 20-50줄로 집중되게 유지하세요
- I/O 작업을 비즈니스 로직과 다른 계층으로 분리하세요
- 테스트 가능성을 위해 생성자를 통해 의존성을 주입하세요
تجنب
- 도메인을 이해하기 전에 너무 이르게 추상화를 만드는 것
- 합성 대신 코드 재사용을 위해 상속을 사용하는 것
- 한 클래스에서 HTTP 처리, 유효성 검사, 데이터베이스 액세스와 같은 관심사를 섞는 것
- 읽기 쉬운 코드 대신 영리한 코드를 만드는 것