Find the PR you have been allocated to discuss (expand the the panel below). If the allocated PR is not available or suitable, you can choose the fallback option, and failing that, any random PR.
10 minutes Find given problems: Go through the code in the diff view (i.e., the Files changed tab), and and find instances of following code quality problems (ignore other types of code quality problems)
a. weak SLAP
b. arrow-head style code
c. too-long methods
d. too-deep nesting
To identify long methods or deep nesting, zoom out and scroll through the entire PR code to do a visual inspection (no need to read the code line-by-line). After visually locating a method that looks too long/deep, have a closer look to see it can be improved by using better abstraction. If you are unsure about a case, you can also rope the tutor in to the discussion.
10 minutes Discussion: The tutor will lead a short discussion to go through the problematic code you found.
After the tutorial, you can apply the insights gained from this activity to improve the code quality of your own iP, if necessary.
1 | As a … | I can … | So that I can … | notes |
---|---|---|---|---|
2 | first-time user | see some sample trips when I open the app | easily try out its features without needing to add my data first | |
3 | first-time user | see a help message explaining which features I should try first | start by trying features that are more suited for new users | e.g., "hey you seem to be new. Try adding a trip first" |
4 | new user ready to adopt the app for my own use | purge all data | get rid of sample/dummy data and start adding my real data | |
5 | busy user | track all trip-related data inside the app | save time looking for data | |
6 | user | sending trip info to friends | via email or telegram | |
7 | user | add a trip | ||
8 | user | delete a trip | get rid of trip no longer needed to track | |
9 | user | edit trip details | correct mistakes I made when adding a trip | |
10 | user | view all trip details | recall details of trips | |
11 | user | see the next upcoming trip details when I open the app | save the step of searching for the trip | reason: the next upcoming trips is the most likely trip the user may want to see |