Course Description
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
|
|
|
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
Audience
Java, C#, C++
Comments
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