Skip to content

Add additional code quality features as options to the project creator #794

@Gold856

Description

@Gold856

It's no secret that a large portion of FRC teams don't use CI, or even code formatting. Some do, but most don't. We have docs for CI and formatting but most teams don't read and implement them (the articles being under "Advanced GradleRIO" probably scares them off). If we want to encourage good software engineering practices, we should make adding CI and code formatting as easy as possible. Similarly to how "Enable Desktop Support" is a single checkbox today that enables sim support, the project creator (and importer?) should have an "Enable Code Formatting" checkbox that will create a build.gradle file with spotless added (but with checks possibly softened to a warning instead of an error), and an "Enable CI" checkbox that adds a GitHub Actions workflow that does runs a basic build (bonus points if it also checks formatting if that's enabled). By making this option more visible, teams might make the decision to enable these options more often or learn more, setting them on a path to follow more industry-standard practices.

We could expand this to have many checkboxes, but we'd need to think more about what options are the most important because too many is bad. Formatting and CI in my opinion are a good start.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions