Refactoring Java with IntelliJ IDEA
What you'll learn
- Navigate code seamlessly
- Refactor Java code like a pro
- Put away that mouse, and avoid RSI
- Understand design decisions made when refactoring
Requirements
- Knowledge of the Java language is required
- A copy of IntelliJ IDEA either Community (free) or Ultimate
Description
Everybody knows that they should refactor their code to make sure that it is as easy as possible to maintain and understand.
Refactoring by editing text introduces errors, and there can be long times when the code won't even compile, because a refactoring is part way through. Using automated refactoring tools means that your code will compile all the time, allowing tests to be run after every change.
IntelliJ IDEA provides a huge number of tools to make refactoring of even very large codebases pain-free.
This course starts at the beginning, showing how to refactor a small codebase using IntelliJ IDEA's automated tools, building up skills that can be applied to huge source trees without breaking a sweat.
It demonstrates that, often, code can be refactored without actually typing any code at all!
It also helps the student understand that refactoring is also about making design decisions.
Each lesson is easily digested in under 15 minutes, teaching techniques that are immediately useful in the real world.
This course requires a copy of IntelliJ IDEA, which is a free download.
The author and the course content is not affiliated with Jetbrains s.r.o - although is a long time user and fan of their products!
Who this course is for:
- Anybody writing Java software
Instructor
James has designed and implemented large scale software systems at many well-known global organisations - ranging from high-speed financial systems, to consumer electronics in millions of people's front room.
He has over twenty years of professional software design experience, and is often invited into software projects to help them refactor both the large and small scale design of the software - to enable safe iterative and incremental software delivery.