Refactoring Legacy Code like a Pro: a Use Case.
Refactoring Legacy Code like a Pro: a Use Case., available at $19.99, has an average rating of 4.4, with 29 lectures, based on 24 reviews, and has 1010 subscribers.
You will learn about Learn how to spot refactoring signals. Learn techniques to improve the test coverage. Master refactoring principles and best practices. You'll confidently tackle complex legacy codebases. This course is ideal for individuals who are Beginner Developers wanting to learn new skill It is particularly useful for Beginner Developers wanting to learn new skill.
Enroll now: Refactoring Legacy Code like a Pro: a Use Case.
Summary
Title: Refactoring Legacy Code like a Pro: a Use Case.
Price: $19.99
Average Rating: 4.4
Number of Lectures: 29
Number of Published Lectures: 29
Number of Curriculum Items: 29
Number of Published Curriculum Objects: 29
Original Price: $19.99
Quality Status: approved
Status: Live
What You Will Learn
- Learn how to spot refactoring signals.
- Learn techniques to improve the test coverage.
- Master refactoring principles and best practices.
- You'll confidently tackle complex legacy codebases.
Who Should Attend
- Beginner Developers wanting to learn new skill
Target Audiences
- Beginner Developers wanting to learn new skill
Master The Art of Refactoring Messy Codebases Into a Software Masterpiece and Become the go-to expert for codebase transformations by learning to take messy code as an opportunity to innovate and grow.
But what is legacy code in the first place?
Legacy code refers to software code or applications that were created in the past and have been in use for a significant period. However, such code often poses challenges because it may be outdated, poorly documented, or not aligned with current coding standards and best practices. These challenges can make it difficult to maintain, update, or extend the software, thereby causing potential problems for developers to refactor to make it easy for future work.
In his Amazing book Working Effectively With Legacy Code, According to Michael Feathers, Legacy Code refers to any code that lacks automated tests: To me, legacy code is simply code without tests.
In this course, we will explore practical ways of dealing with legacy codebases. Our approach covers everything from automated tests to detailed techniques for making codebases flexible and enjoyable to work with.
By the end of the course…
-
You’ll spot refactoring signals.
-
You’ll be able to cover legacy code with tests.
-
You’ll master refactoring principles and best practices.
-
You’ll master techniques to improve the test coverage.
-
You’ll identify common code smells and anti-patterns.
-
You’ll confidently tackle complex legacy codebases.
Before You BUY This Course
If you’re new to the world of code refactoring and looking for an affordable starting point, we recommend diving into specific books on the subject. Books (less than 60$) such as Refactoring or Working Effectively with Legacy Code provide a cost-effective way to build a strong foundation in refactoring principles, allowing you to learn at your own pace.
Once you’re ready to put your knowledge into action on real legacy code, our comprehensive course guides you through practical application and advanced techniques, ensuring you’re fully equipped to tackle complex code bases confidently.
What’s the Use case?
In this course, we will refactor a codebase that calculates prayer times provided by Prayer Times Organization. We will address the challenges posed by outdated technologies, inadequate code organization, and the need to improve code readability.
With clear objectives in mind, we’ll break down the refactoring process into manageable steps, including:
-
Code analysis.
-
Test setup.
-
Modularization.
-
Extracting meaningful abstraction.
-
Reducing the clutter.
-
Emphasizing best practices.
-
And much more.
The use case presents a good enough complex code to showcase the difficulties you can face when refactoring a real project. By the end of the course, you’ll be well-prepared to take on real-world refactoring projects with confidence and expertise.
You can check the preview up in a video for a full explanation of the domain problem, so if that excites you, join now, and let us refactor a messy codebase.
Language Agnostic
This course is designed to be language-agnostic, meaning you can acquire essential principles and techniques that apply universally across various codebases in different programming languages.
While our use cases in the course choose Kotlin, you can still find on the domain problem website other versions that apply to Java, Python, C#, C++, and PHP;the skills and insights you gain are easily transferable to any other language.
We emphasize Kotlin to provide a practical learning experience, but the knowledge you acquire will empower you to excel in legacy code refactoring, regardless of your chosen programming language.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Course Introduction
Lecture 2: Domain Problem
Lecture 3: Extra Resources
Chapter 2: Testing
Lecture 1: Project Setup
Lecture 2: Test Coverage
Lecture 3: Parametrized Tests
Lecture 4: Complete Code Coverage
Lecture 5: Test Cleaning
Lecture 6: Mutation Testing
Chapter 3: 1st Round of Refactoring: The Fundamentals
Lecture 1: Kotlin Conversion
Lecture 2: Why Refactoring?
Lecture 3: Declutter
Lecture 4: Top Level Functions
Lecture 5: Primitive Obsession
Lecture 6: Depending on Abstractions
Lecture 7: Function Splitting
Lecture 8: Capturing Logic
Lecture 9: Helping Other Devs
Lecture 10: Action to Calculation
Lecture 11: Public API
Lecture 12: Pair Programming
Chapter 4: 2nd Round of Refactoring: Overengineering
Lecture 1: Extracting The Responsibility of Formatting
Lecture 2: Simplifying Format Utils
Lecture 3: Refactoring The Core Logic
Lecture 4: Refactoring The Core Logic 2
Lecture 5: Refactoring The Core Logic 3
Lecture 6: Refactoring The Core Logic 4
Lecture 7: Scratch Refactoring
Chapter 5: Conclusion & Feedback
Lecture 1: Wrap-up
Instructors
-
Younes Charfaoui
Android Software Engineer
Rating Distribution
- 1 stars: 1 votes
- 2 stars: 0 votes
- 3 stars: 1 votes
- 4 stars: 1 votes
- 5 stars: 21 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024