Teamwork

From APIDesign

Revision as of 06:36, 11 January 2009 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

Have You Ever Wondered...?

There is a common wisdom among programmers saying that design cannot be done by committee. However how can we design bigger and bigger systems without designing in teams? Does not that hurt consistency? Yes, partially. Most people seem to be able to keep design consistency when they work alone, however software projects of today and of the future are designed by teams. Keeping consistency in such environment is much harder, but it is possible. Chapter 16 describes what aspects need to be verified and checked, and introduces the APIReview process which is capable of doing so.

Convincing Developers to Document Their API

The Teamwork chapter also contains section called Convincing Developers to Document Their API. One note there nit picks on GeertjanWielenga for being afraid to modify Javadoc. After many weeks of convincing him, I am happy to report success! As Geertjan just disclosed on his blog, he finally changed javadoc to point to one of his tutorials. Perfect! Geertjan confesses that the final reason that forced him to fulfil his promise lies in the fact that I used a tape recorder and recorded him swearing to do it. Maybe, this may be the final decision contributor, but not the most important one! The most important moment happened a month ago when, by an accident, I disclosed to Geertjan that Javadoc is just an HTML text. Before that Geertjan probably thought that the Javadoc is something complicated and was afraid of it. When Geerjan realized that it is just another version of HTML, his fear started to disappear. That was the breakpoint. Then it took just one month and one pub visit to remove it completely. Geertjan, I am glad, you managed to make such a significant step on your road to be API guru!

--JaroslavTulach 16:05, 17 July 2008 (UTC)

Accepting Patches

Encouraging community to seek for bugs in an API and provide patches to its behaviour is a best way to make the API really usable. On the other hand, one needs to be careful to not accept bad patches. The chapter 16 describes strategies to evaluate quality of submitted patches and separate the perils from dust. In addition to that here is a little trick, called code injection, that can help balance the need for extensibility while lowering overall Cost of Ownership.

Personal tools
buy