- I understand well the userStory
- check: I know how my PO can validate it
- After reading the checklist in my ticket, I go through my code to find the files that will be modified.
- For each file, I find the part of the code that will be targeted.
- I create a git branch: git checkout -b feature—ticketNumber-ComponentName-FeatureShortDescription
- I check the quality of the actual code
To make my code session as efficient as possible, I do a plan by decomposing my functionality in independent parts: For each of those parts I write down:
- The name of the Page/Component where I plan to do a code modification
- The detail of the modification I will make
- The functional test: Actions I will do in the app to make sure that it works and that it didn’t generate any bug or unexpected behavior.
- A reminder to run project automatic tests (prettier, flow, jest…)
- A reminder to commit the relevant modifications
- An estimation of the time I need to finish this part.
You can use this template while planning:
Component file | Modifications | Technical tests |
---|---|---|
File1.component.js | The modification to do | test |
File2.style.js | The modification to do | test |
- Andon (first your architect, second your coach then other developers) as much as possible while constructing your plan.
- When the plan is finished, you HAVE to present it to a more experienced dev in order to challenge it before coding.
Ticket title: (1) As a user, in the page "Portfolio Creation Summary", when I click on the tab "In the Past", I see the graph data. Plan:
- Part 1
- Goal: Check that the graph data is already available
- Functional test: use the debugger to check that this.state.backtest.composition is not an empty array
- Duration: 2 minutes
- Part 2
- Goal: Show the graph data
- Solution 1: Use ul and li ----> backtest.composition.map ((data) => li {data} /li)
- After the architecture challenge, I changed the solution. They proposed Solution 2 ---->
<FlatList
data={backtestData.composition}
renderItem={({ item }) => (<Text key={data} </Text>)}
/>
- Functional test: display the Flatlist
- Automatic test + commit
- Duration: 15 minutes
- Total Duration: 20 minutes
Ticket title: (2) As a user, in the page "General Car State", I see the 4 pictures of the car.
What I expected | What I get without doing a plan |
---|---|
- What I did
- Put the 4 pictures in a container view
- Use flex-wrap to have 2 pictures per row
- Result
- As the devices in the definition of the Done had a big screen => Photos were displayed correctly
- Unexpected result
- The PO tested it on an iphone 5s (small screen) and the result wasn't the same.
- Therefore, I had to take back this ticket to work on it again (2h of rework).
- My coach encouraged me to use flexDirection (2 cars on a row and the 2 rows in the same column) instead of using flex-wrap.