This practical training will teach you how to write clean and readable code in Java 15. Through a series of hands-on and easy-to-follow refactorings, you will learn all fundamental principles and patterns that every seasoned Javist should know to write good code. This course is a fast-track to the knowledge that usually takes years to master: OOP, OOA&D, FP, GoF Patterns, DDD Patterns, Implementation Patterns, SOLID, GRASP.
Throughout this course we’ll be refactoring code smells taken from real production codebases. This ensures that everything you’ll learn here will be immediately applicable at your daily work.
- The course will demonstrate not only plain Java refactorings, but also refactoring of enterprise code that uses Spring
- The course will provide you with practical advice on how to get out of technical debt (without big rewrites)
- Attendees will receive references to books, blogs, and videos for independent self-development
- The economics of software design (clean code rationale, design entropy, busting ”quality is expensive” myth, consequences of bad code, maintaining high coding standards, managing technical debt)
- The Principles of Readable Code
- Refactoring names for better readability
- Refactoring functions for reduced cognitive load
- Refactoring primitives into value objects
- Refactoring classes for better internal structure and The Step-Down Rule
- Refactoring helpers and utils to objects
- Refactoring and getting rid of "glue" code
- Refactoring eager initialization to lazy initialization
- Refactoring cross-cutting concerns into AOP aspects
- Refactoring null-unsafe code to null-safety and fail-fast principle
- Refactoring to the normalized object hierarchy, Liskov-Substitution Principle, and composition
- Refactoring to the highest (and single) level of abstraction
- Refactoring god objects to high cohesion and Single Responsibility Principle
- Refactoring fat interfaces to slim interfaces and Interface Segregation Principle
- Refactoring to Open-Closed Principle
- Refactoring to Forwarding Collections
- Refactoring to The Law of Demeter
- Refactoring to loosely-coupled objects with dependency injection and Dependency Inversion Principle
- Refactoring domain objects for lower coupling with DDD patterns (Specification, Query, Object Mother, Event, Role)
- Refactoring getters and setters to domain-specific methods
- Refactoring to GoF design patterns
- Refactoring tests using Behaviour-Driven Development
- … and much more!
The course is highly recommended for teams that work together.
Java developers with experience in enterprise software development.
Yes, you'll earn a certificate of accomplishment.
The course is taught in English.