We also found things easier using a mechanism based package structure.
Also, we have a naming system
Code:
SS_ : Subsystem
C_ : Command
CG_ : Command Group
https://github.com/WestwoodRobotics/...c2014/launcher
This way, we know what is what. And we can have similar named Commands and Command Groups, if we need that
Code:
C_Pickup
CG_Pickup.
What I want to see more of, is people getting out of their comfort zone with coding. Getting them to try new things, instead of doing the same old simple, boring code.
For example, I've been making a custom Library (Much Like atalibj that I found earlier this week), and the main point of it, is the Custom main robot class. It runs smoother, and faster than the WPILib version, and adds in some more automation to the robots.
https://github.com/WestwoodRobotics/RoboLibJ
Also, If you are using an IDE, Making custom templates is a really good idea.
I have A custom template for the Subsystem Class that automatically fill in the super() constructor, writes singleton code, writes a static{} block, adds in an ITable and ITableListener for custom values, creates some extra methods for the ITable.