Member-only story
Why Your Java Code Looks Amateur (And How to Fix It)
Underrated Java Practices That Separate Juniors from Seniors
4 min readMay 11, 2025
Most Java devs know the basics , use proper naming, handle exceptions, format your code. But if your code still feels junior even when it works fine, chances are you’re missing some subtle things that seasoned engineers do naturally.
In this post, I’ll walk you through some lesser-known habits that quietly make your Java code look amateur and exactly how to fix them with clean, practical examples.
1. Not Using enum
as a Strategy
if (type.equals("PDF")) {
exportToPdf();
} else if (type.equals("CSV")) {
exportToCsv();
}
- It Violates Open/Closed Principle , adding a new format means editing existing logic.
- Hard to test each type in isolation.
- High chance of bugs if string matching fails (
"pdf"
vs"PDF"
).
Better Approach
public enum ExportType {
PDF { public void export() { exportToPdf(); }},
CSV { public void export() { exportToCsv(); }};
public abstract void export();
}
ExportType.valueOf(type).export();
Why this is better:
- Cleaner and extensible.