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

Automated Software Testing: Unit Testing, Coverage Criteria and Design for Testability
Delft University of Technology via edX
Testing Angular 4 (previously Angular 2) Apps with Jasmine
Udemy
Node.js Unit Testing In-Depth
Udemy
Testing Fundamentals in iOS
Pluralsight
Agile Software Development: Code Quality
LinkedIn Learning