proofread this code and tell if it is really good. it is PROS for VEX code:// Global objects for controller and motor groups
pros::Controller master(pros::E_CONTROLLER_MASTER);  // Master controller object for interacting with the joystick

// Motor group for the left side of the drive (motor 10 normal, motor 19 reversed)
pros::MotorGroup left_mg({10, -19});  

// Motor group for the right side of the drive (motor 3 normal, motor 12 reversed)
pros::MotorGroup right_mg({3, -12});  

// Motor group for controlling the claw (single motor on port 2)
pros::MotorGroup claw({2});  

// Motor group for the intake system (motors on port 1 and port 9)
pros::MotorGroup intake_mg({1, 9});  

// Constants
const int MAX_VOLTAGE = 12000;  // Maximum motor voltage for full power, set by the VEX system

// Helper function to scale joystick input to motor voltage
// Takes in the joystick value (-127 to 127) and converts it to the corresponding motor voltage (-12000 to 12000)
double scale_joystick(double joystick_value) {
    return MAX_VOLTAGE * (joystick_value / 127);
}void opcontrol() {
    // Set the brake modes for each motor group
    left_mg.set_brake_mode(pros::E_MOTOR_BRAKE_COAST);  // Left motors coast when not powered
    right_mg.set_brake_mode(pros::E_MOTOR_BRAKE_COAST);  // Right motors coast when not powered
    claw.set_brake_mode(pros::E_MOTOR_BRAKE_HOLD);  // Claw holds its position when not powered (important for maintaining grip)
    intake_mg.set_brake_mode(pros::E_MOTOR_BRAKE_COAST);  // Intake motors coast when not powered

    // Boolean to store the claw's current state (open = true, closed = false)
    bool clawState = false;

    // Boolean flag used to debounce the claw toggle button (prevents multiple toggles on a single press)
    bool clawToggleReady = true;

    // Main operator control loop (runs continuously during teleoperation)
    while (true) {
        // Get joystick values for driving the left and right sides of the robot
        double leftSide = scale_joystick(master.get_analog(pros::E_CONTROLLER_ANALOG_LEFT_Y));  // Scale left joystick Y-axis to motor voltage
        double rightSide = scale_joystick(master.get_analog(pros::E_CONTROLLER_ANALOG_RIGHT_Y));  // Scale right joystick Y-axis to motor voltage

        // Get the button states for controlling the claw and intake system
        bool clawButton = master.get_digital(pros::E_CONTROLLER_DIGITAL_A);  // Button A toggles the claw open/close
        bool intakeButton = master.get_digital(pros::E_CONTROLLER_DIGITAL_R2);  // Button R2 controls the intake system

        // Set the intake motors' power based on the button state
        // If the intake button is pressed, run intake at full power, otherwise stop the intake
        double intakePower = intakeButton ? MAX_VOLTAGE : 0;

        // Handle the claw toggle logic with button debouncing
        if (clawButton && clawToggleReady) {  // If the claw button is pressed and it hasn't been toggled yet
            clawState = !clawState;  // Toggle the claw state (open if closed, closed if open)
            clawToggleReady = false;  // Prevent further toggling until the button is released
        } else if (!clawButton) {  // If the button is released, reset the toggle flag
            clawToggleReady = true;  // Ready for the next button press
        }

        // Set the claw motor voltage based on the claw state
        // If the claw is open (clawState = true), apply full power to open it, otherwise apply no power (closed)
        double clawVoltage = clawState ? MAX_VOLTAGE : 0;

        // Move the motors according to the joystick inputs and button states
        intake_mg.move_voltage(intakePower);  // Set intake motor voltage based on intake button
        left_mg.move_voltage(leftSide);  // Set left drive motors to the scaled left joystick input
        right_mg.move_voltage(rightSide);  // Set right drive motors to the scaled right joystick input
        claw.move_voltage(clawVoltage);  // Set claw motor voltage based on current claw state

        // Delay the loop to run at a consistent rate (10 milliseconds)
        // This prevents the loop from running too fast and overwhelming the system
        pros::delay(10);
    }
}