David Doria

442 points
User profile image.
Rensselaer, NY

I am currently working on a Ph.D. in Electrical Engineering at Rensselaer Polytechnic Institute. I work in the field of computer vision and image processing. My research deals with 3D data analysis, particularly from LiDAR scanners. I have benefited tremendously from the practices of open source and strive to continue to do my part to continue the give-and-take cycle!

Authored Comments

Davide,

Tests must be much more complicated than examples. Examples should cover the "happy path" (http://en.wikipedia.org/wiki/Happy_path) to demonstrate how the code is supposed to work. Tests, on the other hand, must cover all paths. This means you'll setup cases to intentionally cause exceptions, set every possible parameter, etc.

It is partially because of this that I've nearly never seen a Test that can be used as an example. Unfortunately, most developers don't see this enormous distinction. I will see questions on a mailing list that are answered by "look at the test". When you look at the test, you see a 2000 line mess of a piece of code that potentially has buried inside of it what you are looking for. The concept of an example is exactly extracting that piece of demonstration into a stand alone, compilable piece of code.

Good luck!

The unresponsive upstream is a critical part of getting (or losing!) new developers. I have seen too many perfectly good contributions go ignored for so long that the new guy gets mad and goes away (usually forever). I realize that most developers don't get paid, so unless they are directly interested in a patch they usually don't spend time on it (the "scratch an itch" metaphor). However, perhaps the lead developers could round-robin looking at these patches that no one is directly interested in. There typically aren't really that many, and the response to a persons first patch is critical. If their first patch is accepted in a timely fashion, I'd bet they will quickly produce many more. If their first patch is ignored, they will certainly produce zero more. Even worse, if this is their first contribution to any open source project, they will leave with a bad taste for the whole idea in their mouth, and I can't imagine anything much worse than that!