Font size:

Agile Engineering Practices is for developers who want to improve their skills by taking our best technical Agile exercises. Learn by doing exercises from our 6 best-selling albums. They will teach you how to recognize bad designs in code, improve the design of existing code, improve code by refactoring it to/towards a design pattern, write high-speed tests focused on a single responsibility, drive your design via the red/green/refactor cycle, and handle awkward collaborators with ease.


Full Contents

Smells In Legacy Code, A Scavenger Hunt — by Joshua Kerievsky

Smellections Introduction 3

The Smellections Scavenger Hunt 4

The Solutions in Depth 5

Smells In Collection 6

Smells In AbstractList and AbstractSet 7

Smells In AbstractCollection 8

Smells In List 9

Smells In Set 10

Smells In Map ← Click to Preview 11

Smellections Hunt Conclusion 12

Automated Refactoring Exercise — by Joshua Kerievsky

Automated Refactorings 14

Automated Refactoring Demonstration 15

Perfect Tools? 16

An Exercise To Give You Experience 17

Critiquing Your Performance 18

Installing Our Eclipse Plugin 19

Download the Exercise 20

Exercise Instructions 21

Upload Your Exercise 22

A Graph of Your Refactoring & Testing Activity 23

Your Critique Results 24

Your Customized Feedback 25

Automated Refactoring Solution 26

Adapter: XML Lab — by Joshua Kerievsky

In Need Of An Adapter ← Click to Preview 28

Choosing A Preferred Interface 29

Problem Source Code 30

Refactoring Guidance 31

Download, Build & Test Instructions 32

Solution Video Step 1: Extract Interface ← Click to Preview 33

Solution Video Step 2: Extract Class 34

Solution Video Step 3: Move Method 35

Solution Video Step 4: Implement Interface 36

Solution Video Step 5: Pull Up Fields & Methods 37

Solution 38

Exercise: Basic Microtesting — by Mike Hill, Gil Broza, Keith Ray

Writing Basic Tests 40

The Tail Data 41

Tail Priorities 42

This Design Sucks 43

Comparing Tails 44

Assessing The Lab 45

Installing Our Eclipse Plugin 46

Get The Starting Code 47

The Dumbest Case 48

Testing The Dumbest Case 49

The Same IDs 50

Now We're Making Progress! 51

Keep The Axe Sharp! 52

Sharing Data Creation 53

A Perfect Test 54

Designing Your Test Data 55

The Rest Of The Story 56

Upload Your Lab 57

How You Scored 58

Your Customized Lab Feedback 59

Our Solution 60

Exercise: Microtesting Complex Scenarios — by Mike Hill, Gil Broza, Keith Ray

Practice, Practice, Practice ← Click to Preview 62

Four Priorities 63

The TailQueue Code 64

Unqueueing Tails ← Click to Preview 65

Assessing The Lab 66

Installing Our Eclipse Plugin 67

Download the Next Version 68

The TailQueue Mission 69

Upload Your Lab 70

How You Scored 71

Your Customized Lab Feedback 72

Instructor Solution Part 1: Testing Basic Retrieval 73

Instructor Solution Part 2: Testing Preferences 74

A TDD Rhythm Exercise — by Joshua Kerievsky

The Purpose of this Exercise 76

Critiquing Your Performance 77

Proceed with Caution 78

Installing Our Eclipse Plugin 79

Download the Code 80

Exercise Instructions 81

Upload Your Work 82

A Graph of Your TDD Activity 83

Your Critique Results 84

Your Customized Feedback 85

Our Solution 86

Test-Driven Development Lab — by Joshua Kerievsky, Mike Hill, Gil Broza

TDDing Big Bill's Billing System ← Click to Preview 88

Some Advice Before You Begin 89

Setup 90

Task 1: Calculate A Simple Phone Bill 91

Task 2: Calculate Excess Minutes 92

Task 3: Calculate Family Discount 93

Task 4: Calculate Complete Phone Bill 94

Task 1 Solution ← Click to Preview 95

Task 2 Solution 96

Task 3 Solution 97

Task 4 Solution 98

An Alternative Solution 99

A Third Solution 100

Lab: Slipping A Listening Fake — by Gil Broza, Mike Hill

Introduction 102

The Code 103

Existing Microtests 104

Download The Code 105

The First Case Of Slowness 106

Our Solution 107

Great Microtests 108

Perhaps Use Extract & Override? 109

Make A Stub For Shipper 110

Slipping A Shipper Stub Solution ← Click to Preview 111

Making a Listening Fake 112

Listening Fake Solution 113

Lab: Faking a Singleton — by Gil Broza

Lab: Faking A Singleton 115

A First Attempt 116

Download The Code 117

Double Awkwardness 118

Hints 119

Our Solution 120

Auto-Mocks Lab — by Gil Broza

Lab: Auto-Mocking 122

The Challenge 123

The Code 124

Awkwardness ← Click to Preview 125

Download The Code 126

Your Mission 127

The Simplest Case 128

The Second Task 129

Solution For The Second Task 130

The Last Task 131

Solution For The Last Task 132

This album features:
  • 5-8 hours of content
  • 132 pages
  • 17 solution videos
  • Support for Eclipse and IntelliJ IDEA




Supported Browsers Firefox 3 or higher — download for free Chrome 5 or higher — download for free Internet Explorer 7 or higher — download for free Safari 4 or higher — download for free Development Tools You can use whatever developments tools you prefer. If you do use an IDE (Integrated Development Environment), many (though not all) of our labs come with projects pre-configured for Eclipse, IntelliJ and Visual Studio. Operating Systems Windows Linux Mac OS X Speakers or headphones are required for our videos. Flash 9 (or higher) is required to view charts or watch videos

Register Now
Agile Engineering Exercises Online course
  • Course ID:
    236058
  • Duration:
    n/a
  • Price:
    $140