Return to site

🧱📁 JAVA CONVENTIONS: FILE & CLASS ORGANIZATION DONE RIGHT

November 22, 2025

🔸 TL;DR

▪️ Keep a clear file header, then package, then import.

▪️ Split the file into sections with blank lines; avoid files > 2000 lines.

▪️ Inside classes: doc comment → declaration → optional impl comment → class (static) vars (public→protected→private) → instance vars (public→protected→private) → constructors → methods (grouped by functionality, not visibility).

🔸 FILE ORGANIZATION (TOP TO BOTTOM)

▪️ Beginning comments: a short, purposeful file header (copyright, license, brief intent).

▪️ Package statement: exactly one, first code statement.

▪️ Import statements: follow the package; group logically and separate groups with blank lines.

▪️ Sectioning: split the file into meaningful sections using blank lines (+ optional section comments).

▪️ Size: files longer than 2000 lines are cumbersome—prefer splitting/refactoring.

🔸 INSIDE A CLASS/INTERFACE: RECOMMENDED ORDER

▪️ 1) Documentation comment (/** ... */) — what/why, references.

▪️ 2) Class or interface statement — public class … / interface ….

▪️ 3) Implementation comment (/* ... */, optional) — class-wide notes not suited to Javadoc.

▪️ 4) Class (static) variables — order: public → protected → private.

▪️ 5) Instance variables — order: public → protected → private.

▪️ 6) Constructors — group by purpose/overload families.

▪️ 7) Methods — group by functionality, not visibility; a private helper can sit between two public methods if it improves readability.

🔸 NAMING & PATH (RECAP)

▪️ Filename = public top-level type + .java (e.g., OrderService.java).

▪️ Directory path mirrors the package (e.g., com.acme.billing → .../com/acme/billing/OrderService.java).

▪️ One public top-level type per file; let tests mirror names (e.g., OrderServiceTest.java).

🔸 TAKEAWAYS

▪️ Start clean: header → package → imports; then well-sectioned code.

▪️ Order inside classes matters—it speeds up comprehension and reviews.

▪️ Keep files focused and small; refactor when size or responsibilities grow.

#Java #CleanCode #CodeConventions #Readability #SoftwareCraftsmanship #Maintainability #BestPractices

Go further with Java certification:

Java👇

Spring👇

SpringBook👇