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)