8 Discussion

Discuss one of your projects (or the sample project listed at the end of this section) with your newfound friends and collaborators. Here are some issues for you to think about:

  1. Big picture questions
    1. What is the goal of this project?
    2. Who is the code for? Is it for the author, or should other people be able to use and/or contribute to it?
    3. How would I run this code? Do I have the information I need to do that?
  2. Code comments and organization
    1. Are there docstrings for classes and functions (i.e. "this function does X")?
    2. Are the input parameters described with sufficient detail that the user can distinguish legal from illegal inputs?
    3. Is it possible to run the code in a way that causes it to break (e.g. what happens if you call functions "out of order")?
    4. What's missing? Are there unhandled cases?
  3. Issue tracking
    1. How is this project tracking issues? Can you figure out what needs to be done?
  4. Documentation
    1. What kinds of work flows do the code enable?
    2. How do the various parts of the code hook together?
    3. What are the inputs and outputs?

8.1 Sample project

If you don’t have a project of your own you can apply these prompts to Derek’s Portfolio Factors repo