← ClaudeAtlas

solid-principleslisted

SOLID principles checklist with Java examples. Use when reviewing classes, refactoring code, or when user asks about Single Responsibility, Open/Closed, Liskov, Interface Segregation, or Dependency Inversion.
decebals/claude-code-java · ★ 599 · Code & Development · score 82
Install: claude install-skill decebals/claude-code-java
# SOLID Principles Skill Review and apply SOLID principles in Java code. ## When to Use - User says "check SOLID" / "SOLID review" / "is this class doing too much?" - Reviewing class design - Refactoring large classes - Code review focusing on design --- ## Quick Reference | Letter | Principle | One-liner | |--------|-----------|-----------| | **S** | Single Responsibility | One class = one reason to change | | **O** | Open/Closed | Open for extension, closed for modification | | **L** | Liskov Substitution | Subtypes must be substitutable for base types | | **I** | Interface Segregation | Many specific interfaces > one general interface | | **D** | Dependency Inversion | Depend on abstractions, not concretions | --- ## S - Single Responsibility Principle (SRP) > "A class should have only one reason to change." ### Violation ```java // ❌ BAD: UserService does too much public class UserService { public User createUser(String name, String email) { // validation logic if (email == null || !email.contains("@")) { throw new IllegalArgumentException("Invalid email"); } // persistence logic User user = new User(name, email); entityManager.persist(user); // notification logic String subject = "Welcome!"; String body = "Hello " + name; emailClient.send(email, subject, body); // audit logic auditLog.log("User created: " + email); return user; } } ``