12 Parallel Collaboration

12.1 Social Contract

  1. Issues
  2. Organized Commits & Coherent Diffs
  3. Branch & Merge Strategy

12.2 Code Reviews

  1. Daily Reviews of PRs
  2. Periodic Reviews of Files

12.3 Remote

  1. Headset & sharing screens

12.4 Additional Resources

12.5 Loose Notes

12.5.1 GitHub

  1. Review your diffs before committing. Check for things like accidental deletions and debugging code that should be deleted (or at least commented out).

  2. Keep chatter to a minimum, especially on projects with 3+ people being notified of every issue post.

  3. When encountering a problem,

    • Take as much ownership as reasonable. Don’t merely report there’s an error.
    • If you can’t figure it out, ask the question and describe it well.
      • what low-level file & line of code threw the error.
      • how you have tried to solve it.
    • If there’s a questionable line/chunk of code, trace its origin. Not for the sake of pointing the finger at someone, but for the sake of understanding its origin and history.

12.5.2 Common Code

This involves code/files that multiple people use, like the REDCap arches.

  1. Run the file before committing it. Run common downstream files too (e.g., if you make a change to the arch, also run the funnel).
  2. If an upstream variable name must change, alert people. Post a GitHub issue to announce it. Tell everyone, and search the repo (ctrl+shift+f in RStudio) to alert specific people who might be affected.