- Note a time the past 2 weeks when you used one of the techniques from the club in your work
- Note a time the past 2 weeks when you used information learned about code in your work
At the start everyone should look at the same code, but as the club evolves you can tackle a bigger bit of code by splitting into sections. These exercises are best carried out when the code can fit on one or two pages but with it being the norm to split in many ways - we hope to invent and discover different exercises.
You will need:
- two printed copies of the code for today's club
- some graph paper - or coloured paper and scissors - or acetate and something to write on it with
- coloured pens, crayons or pencils
- Colour1 the variables - circle and draw links between instatiation and all uses
- Colour2 the method/ function calls - circle and draw links between declarations and calls
- Colour3 the classes - circle and draw links between classes and their instances
- Draw the indentaiton patterns - There are a few ways to do this. Fill over with black sharpie. Trace on graph paper. Trace on acetate. etc?
- What patterns are visible from the colors and indentations only?
- What parts of the code warrant more attention based on the colors and indentation?
- Define what it means to be important and independently identify the 5 lines you consider most important
- Discuss in the group:
- lines covered by many people?
- lines named but not by a lot of people
- Agree less than 10 of the most important lines
Take turns in the group, and let every member talk about the code for 30 seconds (or less/more, could also be one sentence each). Try to add new information and not repeat things that have been said, and repeat until people do not know new things anymore. Save the last word for me protocol
- Independently write down the essence of the code in a few sentences
- Discuss in the group
- topics covered by many vs few
- strategies used to create the summary (e.g. method names, documentation, variable names, prior knowledge of system)
- Create a summary together
- Compare the summary with the available documentation (inside and outside the code)
- identify differences and similarities between the groups findings and the existing
- What worked well
- What worked badly
- Identify code for next session, keaping in mind Wash up and Reflection information