> Rule 1: Review code just like you review other elements of your research
> Rule 2: Don’t leave code review to the end of the project
> Rule 3: The ideal reviewer may be closer than you think
> Rule 4: Make it easy to review your code
> Rule 5: Do it in person and synchronously…A. Circulate code in advance. B. Provide necessary context. C. Ask for specific feedback if needed. D. Walk through the code. E. Gather actionable comments and suggestions
> Rule 6:…and also remotely and asynchronously
> Rule 7: Review systematically
> A. Run the code and aim to reproduce the results. B. Read the code through—first all of it, with a focus on the API. C. Ask questions. D. Read the details—focus on modularity and design, E. Read the details—focus on the math, F. Read the details—focus on performance, G. Read the details—focus on formatting, typos, comments, documentation, and overall code clarity
1 comment
[ 2.8 ms ] story [ 11.9 ms ] thread> Rule 2: Don’t leave code review to the end of the project
> Rule 3: The ideal reviewer may be closer than you think
> Rule 4: Make it easy to review your code
> Rule 5: Do it in person and synchronously… A. Circulate code in advance. B. Provide necessary context. C. Ask for specific feedback if needed. D. Walk through the code. E. Gather actionable comments and suggestions
> Rule 6:…and also remotely and asynchronously
> Rule 7: Review systematically
> A. Run the code and aim to reproduce the results. B. Read the code through—first all of it, with a focus on the API. C. Ask questions. D. Read the details—focus on modularity and design, E. Read the details—focus on the math, F. Read the details—focus on performance, G. Read the details—focus on formatting, typos, comments, documentation, and overall code clarity
> Rule 8: Know your limits
> Rule 9: Be kind
> Rule 10: Reciprocate