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

A Practical Introduction to Test-Driven Development
LearnQuest via Coursera
Mastering Agile Development of Software as a Service
UC Berkeley via edX
Test-Driven Development Project: Random Person Generator
LearnQuest via Coursera
Software Engineering
City College of San Francisco via California Community Colleges System
Introduction to Cloud Native, DevOps, Agile, and NoSQL
IBM via edX