Let's Code Screencasts
Here are screencasts of developing non-trivial open source projects, the way that I normally develop software. They might give you some tips on using TDD, refactoring, evolutionary design and other development practices. I hope these screencasts will help any aspiring software craftsmen on their road to mastery by providing some examples to look up to.
If you do not yet know how to do TDD, please have a look at my TDD Tetris Tutorial in GitHub. It will help in getting a start on TDD by providing some pre-written tests for a Tetris game and steps on how to proceed. In this Let's Code series there is also a screencasted example of how to go through that tutorial, though you should first try implementing it yourself.
New episodes will be announced at the Let's Code blog. Please subscribe to the web feed of that blog to get notified about new releases. You might also be interested in James Shore's Let's Play TDD which is an endeavour similar to this one.
Projects
- TDD Tetris Tutorial - teaches how to do TDD
- Jumi - a test runner for the JVM
- Dimdwarf - a distributed application server
- Text Adventure - a typical homework assignment
TDD Tetris Tutorial
Shows how to go through the TDD Tetris Tutorial where you can learn Test-Driven Development by at first writing code to pass pre-written tests, so that it will be easier to write your own tests when the time for it comes.
Project Web Site: github.com/luontola/tdd-tetris-tutorial
This Code Branch: github.com/luontola/tdd-tetris-tutorial/tree/take3
Episodes
| Theme: Pre-Written Tests | 2 h 15 min | |
| 2015-03-21 | TDD Tetris Tutorial #1: Falling Blocks | Download |
| 2015-03-22 | TDD Tetris Tutorial #2: Rotating Pieces of Blocks | Download |
| 2015-03-23 | TDD Tetris Tutorial #3: Rotating Tetrominoes | Download |
| 2015-03-25 | TDD Tetris Tutorial #4: Falling Pieces | Download |
| Theme: Pre-Written Test Names | 2 h 11 min | |
| 2015-03-28 | TDD Tetris Tutorial #5: Moving a Falling Piece | Download |
| 2015-03-29 | TDD Tetris Tutorial #6: Rotating a Falling Piece | Download |
| Theme: Training Wheels Off | (ongoing) | |
| 2015-03-30 | TDD Tetris Tutorial #7: TGM Rotation Rules | Download |
Let's Code Jumi
Shows since day one the development of a test runner to surpass JUnit as the de facto test runner on the Java platform. Programming is done with TDD, with the unit-level TDD driven by end-to-end level TDD.
Project Web Site: jumi.fi
Source Code: github.com/luontola/jumi
Episodes
Let's Code Dimdwarf
Shows the development of a highly complex distributed application server using TDD. The project's implementation was well under way when the Let's Code series started (7000 LOC production code, 9000 LOC test code).
Project Web Site: dimdwarf.sourceforge.net
Source Code: github.com/luontola/dimdwarf
Episodes
Let's Code Text Adventure
Shows the development of a small homework, such as is found on introductory programming courses, using TDD.
Source Code: github.com/luontola/text-adventure
Episodes
| Theme: Project Setup & End-to-End Test | 35 min | |
| 2010-11-15 | Let's Code Text Adventure #1 | Download |
| Theme: Domain Logic | 1 h 17 min | |
| 2010-11-15 | Let's Code Text Adventure #2 | Download |
| 2010-11-15 | Let's Code Text Adventure #3 | Download |
| 2010-11-15 | Let's Code Text Adventure #4 | Download |
| Theme: Text UI | 50 min | |
| 2010-11-15 | Let's Code Text Adventure #5 | Download |
| 2010-11-15 | Let's Code Text Adventure #6 | Download |
| Theme: Refactoring | 1 h 22 min | |
| 2010-11-28 | Let's Code Text Adventure #7 | Download |
| 2010-11-28 | Let's Code Text Adventure #8 | Download |
| 2010-11-28 | Let's Code Text Adventure #9 (end) | Download |