Skip to main content

anti-patterns

Common software anti-patterns, code smells, and how to avoid them

소스 정보

저장소
NeuralBlitz/Mito
최근 소스 활동
2026년 3월 22일 13:29
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
anti-patterns
description
Common software anti-patterns, code smells, and how to avoid them
license
MIT
compatibility
opencode
metadata
{"audience":"developers","category":"software-development"}
## What I do - Identify code anti-patterns in existing code - Suggest refactoring solutions - Avoid common mistakes in design and implementation - Improve code quality and maintainability - Recognize technical debt indicators ## When to use me When reviewing code, improving designs, or fixing maintainability issues. ## Code Anti-Patterns ### Object-Oriented - **God Object**: Single class doing too much - **Spaghetti Code**: Unstructured, tangled control flow - **Magic Numbers**: Hard-coded values without constants - **Feature Envy**: Excessive use of another class's data - **Data Clumps**: Groups of variables passed together - **Refused Bequest**: Not using inherited methods - **Switch Statements**: Complex conditionals instead of polymorphism - **Parallel Inheritance**: Duplicate class hierarchies ### Design Anti-Patterns - **Singleton Abuse**: Overuse of singletons - **Dependency Hell**: Complex dependency chains - **Circular Dependencies**: A→B→C→A - **Interface Bloat**: Overly complex interfaces - **Leaky Abstractions**: Exposing internal details - **Golden Hammer**: Using one solution for everything - **Reinvention**: Not using built-in features - **Analysis Paralysis**: Over-planning ### Database Anti-Patterns - **Database as IPC**: Using DB for communication - **God Table**: One table for everything - **EAV**: Entity-Attribute-Value pattern - **Naive Enum**: Storing enums as strings without constraints - **Missing Indexes**: Slow queries due to full table scans - **N+1 Queries**: Loading related data inefficiently ### Concurrency - **Race Conditions**: Uncoordinated concurrent access - **Deadlock**: Circular wait dependencies - **Blocking Operations**: Synchronous calls in async code - **Shared Mutex**: Global locks causing contention ### Testing - **Testing the Implementation**: Instead of behavior - **Happy Path Only**: Only testing success cases - **Manual Testing**: No automated tests - **Tight Coupling**: Tests depend on implementation details ## Code Smells - Long methods - Large classes - Duplicate code - Long parameter lists - Primitive obsession - Data classes - Comments explaining bad code ## Refactoring Strategies - Extract Method - Move Method - Replace Conditional with Polymorphism - Introduce Parameter Object - Replace Magic Numbers - Extract Class - Inline Class - Introduce Null Object
GitHub에서 보기