Back Button Testing

Code Katas in PHP

If martial artists use kata as a method for exercise and practice, what might be the equivalent for coders, like us? Well, code katas are short, repeatable programming challenges, which are meant to exercise everything from your focus, to your workflow.

Beginner
Difficulty
7 episodes
2:36:09 hrs
Start Series
    1. Run Time 19:08 Free

      In the first episode in our "Code Kata" series, we'll tackle the prime factors challenge. We must use TDD to build a class that will compute the prime factors for any given number.

      View the source for this episode on GitHub, and, if you want to autotest your code, refer to this lesson.

    2. Run Time 16:23

      In our next practice session, we need to build a class that will automatically translate a number into its roman numeral counterpart. As with the previous episode, we'll use TDD and PHPSpec to drive this process.

      Homework: what would happen if the user passed 0 to our converter? Shouldn't we take exception to that? On your own, implement this functionality using TDD.

      View the source for this lesson (and the homework solution) on GitHub.

    3. Run Time 24:31

      In this code kata, we need to recreate the scoring system for a game of bowling. Does that sound tough? How do we deal with scoring spares, or strikes, or multiple strikes!? Well, if we use TDD to work toward our goal, it shouldn't be too tough. Let's dig in.

      View the source for this kata on GitHub.

    4. Run Time 16:04

      In this Kata, we need to build a string calculator class; however, there are a number of rules and gotchas related to how we perform the addition. Using PHPSpec once again, let's tackle this challenge.

      View the source for this lesson on GitHub.

    5. Run Time 30:27

      Let's tackle the tennis scoring kata. If you're familiar with the game, you'll know that the rules can be a bit tricky. As such, this will make for a great exercise!

      View the source for this code kata on GitHub.

    6. Run Time 9:34 Free

      Now that you've worked your way through a number of code kata challenges, let's review the obligatory FizzBuzz exercise, and learn just how easy it is to solve.

    7. In this lesson, we'll tackle the intimidating Gilded Rose kata in PHP. Our job is to translate a monstrously confusing set of countless conditionals into a small series of readable methods. Work along with this lesson, and you'll benefit greatly.

      View the slightly altered setup and solution (see second branch) for this lesson on GitHub.

You May Also Enjoy...

Here are some additional series that may be up your alley.

Testing The Lifecycle of a New Feature
Intermediate
Difficulty

Want to join me, as I implement a new feature for Laracasts from scratch? Yes? Great! What exactly will we be tackling? Well, I'd like to offer visito...

26:47 mins
Play
Testing Testing Jargon
Intermediate
Difficulty

There's no two ways about it: terminology in the testing world is incredibly overwhelming. Let's fix that! Bit by bit, we'll break all of these confus...

1:05:34 hrs
Play
Testing Intuitive Integration Testing
Intermediate
Difficulty

The reality is that, sometimes, you don't require a big testing framework to help orchestrate conversations with the business, design your objects, an...

1:10:11 hrs
Play
Testing Testing Laravel
Intermediate
Difficulty

Given the number of testing tools and resources available to PHP developers, it's no wonder why so many developers feel overwhelmed. In this series, w...

3:53:32 hrs
Play
Laravel Let's Build A Forum with Laravel and TDD
Advanced
Difficulty

A forum is a deceptively complex thing. Sure, it's made up of threads and replies, but what else might exist as part of a forum? What about profiles,...

19:29:26 hrs
Play