Agile Software Development: Refactoring

Agile Software Development: Refactoring

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 31m | 270 MB

Refactoring code is a key responsibility of software developers. It helps you develop quality code—the foundation you need to react quickly to change, add new features, and ship high-performance products. This course teaches the basics of refactoring, tailored for agile development. Instructor Richard Kasperowski helps you set up a test-driven development environment and walks through basic refactoring techniques: the rename variable, extract, and inline methods. In chapter two, he explains how to stabilize legacy code with outstanding technical debt—inefficiencies and errors introduced as the result of careless programming. Then he uses refactoring to simplify code, remove duplication, and build more reusable objects. Finally, he shows how refactoring complements an agile workflow, by demonstrating how to quickly add a new feature to the simplified codebase.

Topics include:

  • Defining refactoring
  • Setting up a test-driven development environment
  • Renaming variables
  • Using the extract method
  • Pinning down legacy code
  • Testing code and branch coverage
  • Refactoring legacy code
  • Simplifying math and Booleans
  • Adding new behaviors to refactored code
Table of Contents

Introduction
1 Refactoring for better code
2 What you need to know

Refactoring with New Code
3 What is refactoring
4 Test-driven development (TDD)
5 Code kata
6 Setting up the new code kata
7 Setting up the TDD environment
8 Refactoring Rename Variable
9 Micro-refactoring
10 Refactoring Inline Code
11 Code kata Continue solving the problem
12 Refactoring Extract Method

Stabilizing Legacy Code
13 Technical debt Why its a problem
14 Setting up the legacy code kata
15 Methodology
16 Start writing pin-down tests
17 Complete writing pin-down tests
18 Refactoring pin-down tests
19 Refactoring Change Signature
20 Code coverage
21 Branch coverage

Refactoring Legacy Code
22 Refactoring Extract Constant strings
23 Refactoring Extract Constant numbers
24 Refactoring Extract Variable Extract Method
25 Refactoring Simplify Arithmetic
26 Refactoring Simplify Booleans
27 Refactoring Group-Related Logic
28 Refactoring Final steps
29 Add new behavior to refactored code

Conclusion
30 Next steps