# Preparing your Code for Review

## Preparing Your Own Code for Review

### Provide overview to help reviewer

Please provide your reviewers with a README or other instructions to help them figure out how to spend their time reviewing your code in a way that is most likely to be helpful to you.

### Make sure code is in plain text files (i.e., not only Jupyter notebooks)

Jupyter and Pluto notebooks are great to document how to use your code. As functions mature, it’s nature to move well tested functions into ‘.jl’ files. If your code is in the form of julia code (.jl files) or markdown (.jmd) or a Pluto notebook (also a .jl file), then reviewer can already comment on your code directly in GitHub. If you’ve been developing code inside a Jupyter notebook (.ipynb file), then remember to create (and commit and push) a .jl or .jmd version for your reviewers to comment on, just as you’ve been doing for homework assignments.

julia -e 'using Weave; convert_doc("NOTEBOOK_NAME.ipynb","NOTEBOOK_NAME.jmd")'


If you only have a few functions, then (for now) it’s reasonable to have just one file for your main code and one file for tests. If you already have a larger code base, then organize your functions into multiple files .jl and place them in a src directory. Similiarly, use test, and optionally examples and docs directories to make it clear where user/reviewers can find tests, examples and additional documentation.