Well I'm going to drag myself away from BF3 (until Back to Karkand gets released anyway) to start hacking into the code in order to add all of the updated InSim packet support and other features.
To that end, I reckon it's about time we discussed things like coding standards and feature sets. These discussions will directly affect the existing code base in that it would be good to clean it up considerably, as some of it is quite hacky and confusing with a lot of vars called the same.
Firstly, I'd like to suggest that we use a naming convention like the PRISM project does in the thread http://www.lfsforum.net/showthread.php?t=70147. Their convention is to:
Code repository...Gai has already set up a Sourceforge page along with the requisite SVN repo although only he has access to do updates. Any changes would need to be forwarded as diff files to him for upload. I'll email him asking for other possible update methods. I'll ask him to set up a Beta branch if he's willing to so that 6.0.1.2 would remain as the base until a new version is ready.
The other issue is getting quality coders on board, so we may have to limit access to those who are able to show familiarity with the codebase, C# in general and an ability to actually add value to the project. Maybe we'll run something like C# Survivor where you can get voted off
Feature sets...Once the code has been cleaned up, there is a lot of stuff in the 'todo' list to look at adding or updating so we'd most likely need some sort of issues register. I have no experience in using any of these, so if someone has a suggestion, please do.
Thoughts?
To that end, I reckon it's about time we discussed things like coding standards and feature sets. These discussions will directly affect the existing code base in that it would be good to clean it up considerably, as some of it is quite hacky and confusing with a lot of vars called the same.
Firstly, I'd like to suggest that we use a naming convention like the PRISM project does in the thread http://www.lfsforum.net/showthread.php?t=70147. Their convention is to:
- Use tabs for white space, and the tab width should be equal to 4 spaces.
- All objects, classes and references use Camel cased naming and:
- Variables, instances and Functions start with a Lowercase character e.g. $thisVar, $newClassInstance or thisFunc()
- Classes start with an Upper case char e.g. ThisClass
- Variables, instances and Functions start with a Lowercase character e.g. $thisVar, $newClassInstance or thisFunc()
- Constants or Enums use upper case e.g THISENUM
- We ask that you make the function names as clear and as concise as possible, not matter how wordy e.g. $leftRearTyrePressure or ConvertIntToString()
- Source code formattingcan be at the coders discretion with the exception of tab spacing, however keep in mind that splitting over lines may help readability.
Code repository...Gai has already set up a Sourceforge page along with the requisite SVN repo although only he has access to do updates. Any changes would need to be forwarded as diff files to him for upload. I'll email him asking for other possible update methods. I'll ask him to set up a Beta branch if he's willing to so that 6.0.1.2 would remain as the base until a new version is ready.
The other issue is getting quality coders on board, so we may have to limit access to those who are able to show familiarity with the codebase, C# in general and an ability to actually add value to the project. Maybe we'll run something like C# Survivor where you can get voted off
Feature sets...Once the code has been cleaned up, there is a lot of stuff in the 'todo' list to look at adding or updating so we'd most likely need some sort of issues register. I have no experience in using any of these, so if someone has a suggestion, please do.
Thoughts?