swe-programming-javalisted
Install: claude install-skill wahidyankf/ose-primer
# Java Stack Coding Standards
## Purpose
Progressive disclosure of Java stack coding standards for agents writing Java code.
**Coverage**: Java language → Spring Framework → Spring Boot (full technology stack)
**Usage**: Auto-loaded for agents when writing any Java/Spring code. Provides quick reference to idioms, best practices, and antipatterns across the full stack.
---
## Java Language Standards
**Authoritative Source**: [docs/explanation/software-engineering/programming-languages/java/README.md](../../../docs/explanation/software-engineering/programming-languages/java/README.md)
### Naming Conventions
**Classes and Interfaces**: PascalCase
- Classes: `UserAccount`, `PaymentProcessor`
- Interfaces: `Comparable`, `Serializable` (adjective form preferred)
- Abstract classes: `AbstractProcessor`, `BaseEntity`
**Methods and Variables**: camelCase
- Methods: `calculateTotal()`, `findUserById()`
- Variables: `userName`, `totalAmount`
- Constants: `UPPER_SNAKE_CASE` (`MAX_RETRIES`, `DEFAULT_TIMEOUT`)
**Packages**: lowercase with dots
- `com.demo.domain.account`
- `com.demo.infrastructure.persistence`
### Modern Java Features (Java 17+)
**Records**: Use for immutable data carriers
```java
public record UserAccount(String id, String name, LocalDateTime createdAt) {}
```
**Sealed Classes**: Use for closed type hierarchies
```java
public sealed interface Payment permits CreditCard, BankTransfer {}
```
**Pattern Matching**: Use for type-safe casts
```java
if (obj