This is a rough outline of how features/defects are coded up. Please follow this process so we can make sure Bbot stays working around the clock!
- If it's a defect, the requirement is pretty straightforward
- If it's a new feature, come up with some user stories that describes what you want out of the feature
As a <type of user> I want <some thing> so that <some reason> - Usually we'll do this together in a meeting
- If it's not done already, create a new issue, link it to the Project Taskboard and assign yourself
- Come up with a design of how you're going to solve the problem in a word doc, including
- What modifications/additions you're going to make to the codebase
- How you will unit test your code
- The success and fail/error conditions for your functionality
- Send the doc to Nick for review
- Checkout a new branch called yourname/featurename
- Write a stub function for the code (if creating a new function)
- Write a failing unit test(s) inside the respective test file
- Write the code so that the unit test passes
- Force push your changes to
dev(make sure no one else is also working on it!) and acceptance test your new feature (play around with it ondevand see if anything breaks)
- Once you're happy with everything, make a pull request and assign Nick as a reviewer
- Link the pull request to your issue
- Make sure that any merge conflicts with
masterare resolved - After the code review you can merge in your new feature into
master - Presto!