Posts by Collection

code-smells

Introduction

Code smells are features or characteristics of a codebase that, at first glance, just look “off” for lack of a better word. The presence of a code smell oft...

Glossary

Dispensables Dispensable code is unnecessary and can generally be safely removed. The result is a leaner, easier to navigate and understand codebase.

Dead Code

Dead code is code that is no longer referenced by other parts of the production codebase, often because it has been made obsolete.

conways-game-of-life

Introduction

Conway’s Game of Life is not actually a game, at least not in the common use of the word, but rather a simulation. More formally, the Game of Life is classif...

Forming a Plan

Before we jump head first into the code we first need to come up with a plan for how we are going to move forward. Lame, I know, but planning is essential. ...

Writing Our First Test

We’ll start at the beginning of every Java program, the boilerplate. Right now this is test class itself, but we’re also going to copy our list of test cases...

A Step Too Far

Picking back up where we left off, we have a failing test for the following scenario.

Refactoring

We have one of the four rules in the Game of Life working but, if we’re honest, the code isn’t great. Before we move on to writing a test for another one of ...

Digging A Hole

Our Game of Life solution is now easier to understand so let’s revisit our list of use cases and continue driving toward a complete implementation. Looking ...

The Finish Line

Continuing from our last session I want to take an opportunity to do a bit of refactoring now that our tests are all passing. One thing that has been botheri...

tdd

Introduction

Developed by Kent Beck in the late 1990s, Test Driven Development is a disciplined process of creating software by first specifying the desired behavior in ...