blog.mikro2nd.net

Review: Refactoring the Gilded Rose

Watching Emily Bache on YT Refactoring the Gilded Rose Kata and... I have criticisms. (No shit!)

  1. The first bit is an extended bit about setting up the Acceptance Test (she calls it something else, but never mind.) It's necessary for the rest of the exercise to work, but not otherwise related.

    Skip to 07:45 for the better stuff.

  2. Refactoring. So the first bit on code smells is good. I particularly like it for our (noob) students. Then along the way she identifies a bunch of Code Envy. This is cool; we talk quite a bit about Code Smells, but not enough about what Code Smells look like or how to detect them.

    Up to now the refactorings have been trivially simple ones — renamings, single-statement cleanups — and she's single-stepped slowly and clearly through what she's doing for each one. But when it comes to the more interesting and useful refactorings — Extract Method, Move Method, and Make Instance Method — it's at high speed, and even someone who knows what those refactorings do is going to have a hard time following what she's actually doing. Not so good for noobs.

  3. In the Lift Up And Inline refactorings, the tool is doing a lot — too much to comprehend in a video. I'd (at least) do the first one by hand (at least partially) so that the student can more clearly see the micro-steps going on.