earthlab-education/ea-lidar-uncertainty-review

Rachel Michaels NDVI Partner Code Review 2022

Closed this issue · 0 comments

@AreteY Awesome use of functions in your assignment (PR #21)! Your code was really efficient! The checklist that I worked through is below along with a few comments.

Review Checklist

CI Checks
The notebook runs from start to finish on all operating systems:
[x] Mac
[x] Windows
[x] Linux

Reproducibility
[x] Are the data downloaded in the code
[x] Are paths created to ensure they work on all operating systems (using os.path.join)
[x] Are comments used to clarify the contents of the code that can’t be clarified using expressive variable and function names alone? (not too many comments - just enough)
[x] Does the notebook run from start to finish?

PEP 8 standards & Code Readability
Functions
[x] Do functions follow PEP 8 format conventions?
[x] Are function docstrings clear (all inputs and outputs clearly described and defined)
[x] Are function names expressive (the name describes what the function does)?
[x] Are functions easy to understand and read?
[x] How many tasks does each function do? (ideally a function does one thing well).
**Each function does indeed do one thing well.

Package imports
[x] Are standard modules (those included with the base python install) vs. third party (related but externally developed tools) import groups correct with appropriate spacing in between each group?
[x] Are variable names throughout the code, expressive?
**Your code was very easy to read and follow because of your well-named variables!
[x] Is the code overall easy to understand and read? Are there things that would make it more clear / cleaner?
**The code is easy to understand and read.

DRY Code
[x] Are segments of code repeated in the file or is the code DRY?
**The code is DRY!
[x] Are loops used to optimize DRY code?
[x] Are functions used to optimize DRY code?
[x] Are there any areas that could be potentially improved (you can suggest improvements OR you can just highlight parts of the code where you suspect it could be cleaner / more efficient.
**Your use of functions and loops inside functions is great and makes the final line of code where you calculate the mean NDVI for all sites extremely efficient!

Novel Approaches to Problem solving
[x] Highlight any novel approaches to completing the assignment.
**The use of register_matplotlib_converters() was interesting. I haven't seen it before, so I enjoyed getting the chance to read the available documentation. I also liked your approach to dropping NaN values.