What you'll learn:
- Get familiar with the main types of code smells. Learn to find them in the code
- You can optimize your code, make it clearer, more logical and readable
- Learn how to perform the most popular refactorings, their mechanics and step-by-step application in code
Do you want to improve your coding skills?
The main tool great software developers use is code refactoring. In this course I will introduce you to the concept of this powerful practice.
If you have a beginner or intermediate level knowledge or even if you have great experience writing code this course would be helpful to you.
During this course you will learn the following:
Get familiar with the main types of code smells. Learn to find them in the code
You can optimize your code, make it clearer, more logical and readable
Learn about the most popular refactorings, get acquainted with their mechanics
Learn how to step-by-step apply refactorings in your code
Basic Code Smells
complex expressions and computations
multiple assignments to a temp variable
magic literals in code
hard to understand conditions
nested if statements logic
long method parameter lists
complex method bodies
classes with mixed responsibilities
What is Refactoring
Code refactoring is the process of changing your existing code so that it becomes more readable and easy to modify in future.
But these changes should preserve the existing functionality. Code refactoring is a continuous process and it is done in small incremental steps.
change of existing code
preserves functionality
continuous process
small incremental steps
Refactoring Goals
better design
reduced complexity
readability
maintainability
improved architecture
Important to Know
If refactoring is done well, it will greatly improve your code.
by simplifying the underlying logic and eliminating unnecessary levels of complexity.
If done poorly it may change functionality or introduce new bugs.
Refactorings
In this course we will discuss in detail the following refactorings:
Introduce Explaining Variable
Split Temporary Variable
Replace With Constant
Simplify Condition
Split Conditional
Combine Conditional
Replace Conditional With Guard Clause
Introduce Parameter Object
Extract Method
Extract Interface
Extract Class
Extract Super Class