Congrats on completing tic-tac-toe! You wrote a lot of code over a period of a few days, and you've developed a working product from the ground up.
While we will write a lot of code throughout SEI, it's also important that we know how to read code. Even if a program's code is only written once it might be modified hundreds, if not thousands, of times in the product development and maitenance.
You will be to read the code your peers wrote, summarize the code in your own words, and give feedback.
- Start with a checklist
- Contructive feedback helps, it doesn't hurt
- When in doubt the simpler the better
- Keep your code DRY
- Have author add notes before, not during
- Keep review to 200-400 LOC; 60-90 mins max
Summary list of expectations from Google eng org: here.
- Receive your partner pairing from your "managers".
- For each developer in your group, spend some time understanding each project and how each project is structured.
- Spend some time looking through the code and figuring out how the code implements functionality in the project.
- Give each peer a writeup that consists of the following. You can give answers in paragraph format, or by using bullet points. Either way, return answers in a Markdown document.
- A short summary of the project's purpose.
- A summary of project's organization, in terms of directories and files.
- For each major feature of the project, explain how the feature is implemented in terms of processes and architecture.
- At least 2 attributes of the project that you found successful or useful.
- At least 2 attributes of the project that could use improvement.
- Submit each writeup via pull request. A template is provided for you to get started. You'll also want to reference your partner in the PR, so they can see the notes.
Note: For each attribute of the project, think in terms of user experience, styling, layout, and code readability. If you don't know what a section of code does, that may warrant a conversation about what could be improved. Remember KISS and DRY principles as well.
- All content is licensed under a CC-BY-NC-SA 4.0 license.
- All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact legal@ga.co.