wiki:EngineeringBits

Version 5 (modified by jinmei, 9 years ago) (diff)

--

We need a lot of engineering bits to write BIND 10. This page collects some of them.

Version Control

Subversion is very close to CVS - which we all know (and hate) - but it is better. It is the default supported by Trac. We may need to migrate to a more distributed version control system (like git) at some point in the future (for instance to have private branches). But for now Subversion is "Good Enough".

Web interface to browse changes in the repository will be very useful. Especially if (and that's my assumption) we provide other developers and users with such an interface. It should include the following features:

  • easily identify at which revision a particular change was made (just like cvs annotate could do)
  • take a diff of arbitrary two revisions

Unit Tests

Python has a fairly decent unit testing framework that comes with it:

http://docs.python.org/library/unittest.html

We need to pick a similar framework for C++. This is old, but probably still relevant:

http://gamesfromwithin.com/?p=29

Bug Tracking System

Does RT suffice? Should we consider making the bug DB more open?

Documentation

Python has a document generator:

http://docs.python.org/library/pydoc.html

We probably want something similar for C++.

What about doxygen?

Build System

autoconf works, but is probably not the best we can do. (scons? cons?)