Day 11. Makers Academy. Class Extraction

Stephen Dawes
canitbedone
Published in
3 min readJun 2, 2016

After three days of working on object orientated programming and class extraction and trying to ‘refactor’ our method flow through different classes, my brain was completely fried and I felt despondent and frustrated with my lack of understanding of the concept. I found out last night I would pairing with a guy who was more advanced in his understanding than me, and I was looking forward to seeing how his though process worked to help me understand extraction more.

Fortunately for me, he was a great pair partner, who patiently went through each step of his own thought process, enabling me to put together the pieces to understand to a greater extent how to identify exactly which functionality should be drawn out of one class, and incorporated into another.

Our tutor Sam also posted a ‘check list’ of things to consider when building a project, stating that if we followed these tips, we should not fail in designing well written object orientated programs that worked well. These tips tied into what I picked up today, although I need to consolidate my understanding later by going through the code again.

The first thing I need to implement quickly is to understand from a very simple perspective, what my classes should be, what functionality they should contain, how my methods should pass from one to another and what functionality I need from them. By drawing out clear diagrams and arrows, I can visualise the program clearly, and can map out the method flow. Once this is complete, I need to get used to writing test cases to test the functionality first, before going to the code — fully implementing TDD and BDD effectively.

Although this has been an extremely challenging day intellectually, it has been good to pair program with someone more advanced than me, as he was able to explain things to me and point me in the right direction to a greater understanding so I can do it myself in the future.

Here are some photos from the last few days at Makers Academy.

Pair programming in threes!
Code review from weekend challenge — Airport ATC design.
Taking a break playing table tennis.
Social in evening — Werewolves!

--

--

Stephen Dawes
canitbedone

16 years working in aviation. Leaving to change direction. In my late 30s with no previous knowledge of programming or web development. Can this really be done?