Found some good points on a Sitepoint forum, made by one of the PHP London user group members:

  1. Shared code ownership. It forces code review and cooperation, rather than a single person owning a package and effectively freezing it. Anybody is allowed to edit your code. If that frightens someone then an examination must be made of their motives.
  2. No attribution of authors. If there is less vested interest in the codebase the goal becomes the utility of the library and nothing more.
  3. Completely archived discussion during construction. People are more willing to allow people the free editing of their code if they talk to them often. No rudeness and no private e-mails.
  4. If nobody understands something out it goes. Code has no reuse if nobody ever reuses it. That means examples or docs or the writing of stuff thats intuitively obvious.
  5. Refactoring by someone other than the person that wrote the first draught. It forces two people to have written everything and means that there is some redundancy if someone drops out for a bit. Libraries written by a single person tend to be quirky.
  6. Fine grained unit tests shipped with the code. You cannot refactor without them and they reduce necessary documentation by effectively providing interface examples.
  7. Always responding to users comments. Usability is important and you only get this from the users. The customer doesn’t always know best, but being forced to justify a position also forces a constant reevaluation of it.
  8. A clear tiering of code from stable down to experimental.
  9. Refactoring to reuse other library objects. There is a limit to this because you don’t want to force people to use the whole library for just a few classes. If the library were decomposed properly the issues should not be major.
  10. No framework stuff.

Sitepoint

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.