You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since this needs to be released before kickoff, and we want this to be considered a released project, there are a few things we need to do.
Fix naming. Most everything is good, however I did notice a few things.
a. No public fields. Only protected, private and internal fields should be used, which camelCase naming. (This might change. We use m_camelCase in the WPILib, which might be a better choice. I will leave that up to you guys though. Just make sure you use the same one throughout the library.)
b. Public properties use PascalCase
c. Class names use PascalCase
d. Class methods use PascalCase
e. Generic types are always prefixed with T. In simple cases, the type can just be T.
f. Interfaces are prefixed with the letter I, and then PascalCase (i.e ISubsystem)
g. Parameter names are in camelCase
f. If a parameter has the same name as a class field, they can be the same name. Then when accessing the class field, use the this. qualifier. This is the main reason we use m_camelCase for fields in the WPILib, so we do not have to do this.
Pretty much everything is already there for doing that, but there were a few edge cases that need to be fixed.
Make sure everything has summary documentation. Each summary should be at max 2 sentences, preferably 1. If anything needs more explanation, use the tags.
Make sure everything works correctly. There's already a breaking bug in the EnhancedDigitalInput. It might be a good idea to write some unit tests for this to make sure it works correctly. If you need help on how to do that, just ask. Please use Nunit to do this.
Fix folder structure and namespace to have no spaces.
The text was updated successfully, but these errors were encountered:
Since this needs to be released before kickoff, and we want this to be considered a released project, there are a few things we need to do.
a. No public fields. Only protected, private and internal fields should be used, which camelCase naming. (This might change. We use m_camelCase in the WPILib, which might be a better choice. I will leave that up to you guys though. Just make sure you use the same one throughout the library.)
b. Public properties use PascalCase
c. Class names use PascalCase
d. Class methods use PascalCase
e. Generic types are always prefixed with T. In simple cases, the type can just be T.
f. Interfaces are prefixed with the letter I, and then PascalCase (i.e ISubsystem)
g. Parameter names are in camelCase
f. If a parameter has the same name as a class field, they can be the same name. Then when accessing the class field, use the this. qualifier. This is the main reason we use m_camelCase for fields in the WPILib, so we do not have to do this.
Pretty much everything is already there for doing that, but there were a few edge cases that need to be fixed.
The text was updated successfully, but these errors were encountered: