YoVDO

Agile Software Development: Refactoring

Offered By: LinkedIn Learning

Tags

Software Engineering Courses Agile Software Development Courses Test-Driven Development Courses Code Coverage Courses Clean Code Courses Technical Debt Courses

Course Description

Overview

Learn the basics of refactoring for agile software development. Explore refactoring techniques to simplify code, remove duplication, and build more reusable objects.

Syllabus

Introduction
  • Refactoring for better code
  • What you need to know
1. Refactoring with New Code
  • What is refactoring?
  • Test-driven development (TDD)
  • Code kata
  • Setting up the new code kata
  • Setting up the TDD environment
  • Refactoring: Rename Variable
  • Micro-refactoring
  • Refactoring: Inline Code
  • Code kata: Continue solving the problem
  • Refactoring: Extract Method
2. Stabilizing Legacy Code
  • Technical debt: Why it’s a problem
  • Setting up the legacy code kata
  • Methodology
  • Start writing pin-down tests
  • Complete writing pin-down tests
  • Refactoring pin-down tests
  • Refactoring: Change Signature
  • Code coverage
  • Branch coverage
3. Refactoring Legacy Code
  • Refactoring: Extract Constant strings
  • Refactoring: Extract Constant numbers
  • Refactoring: Extract Variable/Extract Method
  • Refactoring: Simplify Arithmetic
  • Refactoring: Simplify Booleans
  • Refactoring: Group-Related Logic
  • Refactoring: Final steps
  • Add new behavior to refactored code
Conclusion
  • Next steps

Taught by

Richard Kasperowski

Related Courses

Scratch: Programming for Kids (8+)
Delft University of Technology via edX
Agile Software Development: Clean Coding Practices
LinkedIn Learning
Software Design: Code and Design Smells
LinkedIn Learning
Defensive Coding in C#
Pluralsight
Deep Dive into Go Functions
Pluralsight