Subsystem Ownership
Read, document, and improve a real subsystem from Watergate, Oasis, or Shosty.
This is the capstone. No new concepts — this week you apply everything. Pick a subsystem from Watergate, Oasis, or Shosty and own it. Read it, document it, improve it, and present it.
How to Read Unfamiliar Code
Opening a file you've never seen before is disorienting. Here's a systematic approach that works every time.
Documentation Checklist
Before your PR is ready, every method needs a Javadoc:
/** * Sets the shooter flywheel to a target RPM. * Call this before firing to pre-spin the wheel. * * @param targetRPM the desired flywheel speed in RPM (0 to 6000) */ public void setTargetRPM(double targetRPM) { this.targetRPM = Math.min(targetRPM, 6000); }
Capstone Assignment
1. Pick one subsystem from Watergate, Oasis, or Shosty (ask Hrehaan/Sohan for access)
2. Read the entire file using the 4-step process above
3. Add Javadoc comments to every public method
4. Find one bug or improvement (unused variable, missing null check, magic number, etc.)
5. Fix it on a branch
6. Open a PR with a description of what you changed and why
7. Prepare a 5-minute walkthrough: "Here's what this subsystem does, here's how it works, here's what I improved"
This is exactly what you'll do during build season when you own a subsystem.