Guide to making life easy for everyone
An important aspect of distributed development is having everyone know what everyone else is doing (or not doing). When people only communicate via email, and often only when something goes wrong (a bug report for example), it's hard to keep track of who is doing what, who is planning to do something, who needs help, and so on. The tools PortAudio developers use offer a number of mechanisms to help with this. The main ones are:
- The trac timeline, which lists all recent SVN commits.
- The trac ticket system for tracking development tasks.
- Doxygen generated documentation, including the autogenerated todo list.
- The portaudio mailing list for discussions between developers and users.
- The PortAudio wiki
- Change proposals - more formalised documents for API changes.
Add all future tasks to the ticket system
If you think of a task that needs to be done, but you haven't done it yet, or you want someone else to do it, create a new ticket: http://www.portaudio.com/trac/newticket If you don't have Ticket admin priveledges email rossb@audiomulch.com and you'll be given some, it's that simple.
Write meaningful SVN commit messages
If you write meaningful SVN commit messages other people can see what you're working on.
Crossreferencing SVN commits and Trac tickets
You can crossreference a trac ticket in an SVN commit message simply by including the ticket number with a # before it. You can crossreference an svn changeset in a ticket comment by putting the changeset number between square brackets []. Keep things crossreferenced whenever you can.
Post patches to the ticket system
If someone sends you a patch, but you can't/won't action it, at least create a new ticket with the patch attached. http://www.portaudio.com/trac/newticket
There are a couple of other things that can be done to help us keep track of where each other is up to (what has been done, what hasn't been done, what we're thinking about doing):
Use doxygen @todo comments
The Trac ticket system is great, but sometimes you just want to mark something in the source that you'll get to later. You can put todo items into doxygen comments (doxygen comments start with /**) by placing @todo at the start of the line beginning the todo item. These todo items are automatically published to in the doxygen documentation: http://www.portaudio.com/docs/v19-doxydocs/todo.html
Don't forget the style guide
There are PortAudio coding style guidelines, they live here: http://www.portaudio.com/docs/proposals/014-StyleGuide.html
