In my fork of frc-2018, there's a gradle2019 branch where @bot190 and I experimented with ways to make the code simpler. Below is a (noncomprehensive) list of the changes that we are suggesting doing for the upcoming year:
Enable FindBugs and PMD to catch some categories of issue and style inconsistencies early
SubsystemCommand has been merged into WPILib's Command per wpilibsuite/allwpilib#1275 - nothing has changed except that there's now one less thing to import, and you use the Command name directly.
ActionCommand is now part of WPILib's InstantCommand per wpilibsuite/allwpilib#1262 - nothing has changed except that there's now one less thing to import, and you use the InstantCommand name directly.
Use enumerations to record states of manipulators (open/closed etc) (see Manipulator for an example)
Add @Display on functions returning commands that you want to appear on the dashboard
Automatically add children
Turn RobotMap into an interface, to better store the actual types of members
Remove Preferences for almost all use cases - they're more trouble than useful.
In my fork of frc-2018, there's a gradle2019 branch where @bot190 and I experimented with ways to make the code simpler. Below is a (noncomprehensive) list of the changes that we are suggesting doing for the upcoming year:
SubsystemCommand
has been merged into WPILib'sCommand
per wpilibsuite/allwpilib#1275 - nothing has changed except that there's now one less thing to import, and you use theCommand
name directly.ActionCommand
is now part of WPILib'sInstantCommand
per wpilibsuite/allwpilib#1262 - nothing has changed except that there's now one less thing to import, and you use theInstantCommand
name directly.@Display
on functions returning commands that you want to appear on the dashboardRobotMap
into an interface, to better store the actual types of membersPreferences
for almost all use cases - they're more trouble than useful.