---
tags: GSoC, InterMine, GSoC-template
---
# GSoC cohort call: What makes code good + code review practice
**Time/date:** [ Add date ]
**Other timezones:** [ add link to http://arewemeetingyet.com/ time ]
## Joining the call:
[Add videoconference link]
Once you've joined the call:
- Add your name to the attendee list below
- Don't forget to turn on your webcam! :)
Attendees: Name / Student or Mentor? / Project / Twitter / GitHub / [Emoji mood](https://emojipedia.org/)
- Yo Yehudi / Org admin / t: @yoyehudi + @intermineorg / G: @yochannah 😊🎉
-
-
-
-
-
-
-
Icebreaker question: [e.g. What’s your favourite dinosaur (or prehistoric animal) and why? ]
- [name=Your Name] [ answer]
- [name=Your Name] [ answer]
- [name=Your Name] [ answer]
- [name=Your Name] [ answer]
## Agenda
### Introduction (Call host)
_(5 minutes)_
- Reminder: Code of Conduct! [Link to code of conduct]
- Generally: please treat others with respect and kindness, no matter who they are. We know you do this already!
- If you have any issues, please speak to:
- [add contact name and email]
- [add contact name and email]
- Today’s call will cover giving feedback, code good practice, and code review. **Bring the URL of a GitHub repo you’ve been working on for GSoC!**
## What makes code “good” or “bad”?
_(10 minutes)_
Think back to the last group call, where we made a list of things good open source practices as well as the train-wrecks we’d encountered. Could any of those apply to a code review session? Try to think of more, focusing on technical issues such as code quality, git commits, documentation, etc.
### ✏️ Things you never want to see in a code repo 🙅♀️ (but maybe have):
- [list a thing]
- [list a thing]
- [list a thing]
- [list a thing]
### ✏️ Things that make a code repo really easy to work with, update, run 👌:
- [list a thing]
- [list a thing]
- [list a thing]
- [list a thing]
## 💬 Breakout rooms: Code review practice
We’ll start by reviewing code that isn’t written by anyone in the group. Groups of 2-3.
_(15 minutes)_
- **Thinking:** _3 minutes_
- Pick one of these repos:
- https://github.com/madetech/sensible_logging
- https://github.com/taverna/taverna-svn/commits/master
- https://github.com/biopython/biopython
- https://github.com/mozilla/jschannel
- Spend a couple of minutes looking through your chosen repo. Note down 2-3 points each for:
- Things that could be improved
- Good quality code
- **Sharing** _(3 minutes per person)_
- Share one good thing and one thing that can be improved with your group. Try to bring something new that wasn’t discussed before!
- Did the group agree with your assessment? Discuss.
### Giving Feedback
_(15 minutes)_ - Silent writing.
### ✏️ What is feedback?
- [name=Name here] - [answer]
- [name=Name here] - [answer]
- [name=Name here] - [answer]
### ✏️ How do you feel when you’re expecting to receive feedback?
- [name=Name here] - [answer]
- [name=Name here] - [answer]
- [name=Name here] - [answer]
### ✏️ What happens when we only give negative feedback?
- [name=Name here] - [answer]
- [name=Name here] - [answer]
- [name=Name here] - [answer]
### ✏️ What about when we only give positive feedback?
- [name=Name here] - [answer]
- [name=Name here] - [answer]
- [name=Name here] - [answer]
### ✏️ What are your tips for giving feedback?
## 💬 Breakout rooms: Code review
This time with the code repo you’ve been working on for GSoC.
### Sharing + feedback
_(7 minutes per person)_
Share the code repository (or just one of them, if you have multiple repos) that you’ve been working on with InterMine for GSoC.
Your group mates will spend a couple of minutes looking at your code repo, and like before:
- Try to find 1-2 things to improve
- Try to find 1-2 good things about the repo / code
Each group mate should share one good thing and one thing to improve, then move on to the next code repo.
---
Amusing story of the day: A well-acknowledged rule of code review is the “WTFs per minute” measure - a good code review has fewer, but probably still has some.  (via https://www.osnews.com/story/19266/wtfsm/)