FTC | Code Styleguide - NicholsSchool/2023-Programming-Team-Wiki GitHub Wiki
Methodology
- VSCode and Codespaces for code writing
- FTCSDK for debugging on VSCode
- GitHub for repo
- Live Share Extension for realtime collabs
- FTC for VSCode OR OnBotJava for Build and Run
Code Formatting
Simple Functionality
- One TeleOp which handles everything
Complex Functionality and Season Bots
- Teleop
- Auto
- Subsystem for Drivetrain
- Subsystem for Effectors
- Constants Class
Naming Conventions
Classes
- Auto: "[name]Auto"
- TeleOp: "[name]TeleOp"
- Drivetrain Subsystem: "[name]Drive"
- Effector Subsystem: "[name]Effectors"
- Constants: "[name]Constants"
Methods
Drivetrain:
- drive() (use power)
- driveToPosition() (uses PID and encoders)
- driveToObject() (uses PID, calls drive() to pathfind)
Effectors:
- send() (use power)
- sendToPosition() (use encoders)
- grab()
- release()
- intake() (for two-part system)
Data:
- [sensorName].value
- [sensorName].value_x
- [sensorName].isTriggered
Objects
Motors:
- leftMotor
- rightMotor
- [discriminator]Motor (X or Swerve)