Hi all,

This thread is for talking about dev.

In fact the most important thing I propose is TDD Test Driven Development.
We think all functions and feature should have if possible a test so when we
release we should be able to see if it all work as we intended.

We know some functions will be hard to tests (like database one for
example), so let bypass them, we can't have 100%. Tests should be quick as
possible so everyone can launch them in few seconds. There can be also some
longer tests that are for integration level and should be launch less often.
I think we will need a integration server like Hudson. I'll install one in
my dev server, but it can be good to put one in a public server to everyone
can see if tests failed with some patchs.

We are not saying "all patchs should be send with tests" but if they are
it's better. Because for new features we will need to wrote tests too, so if
the writer already did it, it's better.

Another point is the "technical debt" : all little hacks here and here.
Until some times, technical debt should be paid. We can have new feature in
some minutes of writers need to bypass hacks every where. We should take
some times before each release to paid all technical debt we can. The less
we've got, the faster new features we will have.

It's the same for inner architecture. Good code architecture allow users to
add feature in some minutes. A good example is to add a parameter with only
one line :)
We can wait a little for a new feature if it's for having even more feature
in the future without hacks :)

And with automated tests, new dev can code like they want and be sure they
don't break anything. That why tests are useful, it's not just to play with
tests, but be sure to give a "nearly zero bug" code :)

Before 0.2 I (Jean) was not a fan of tests. I thought that the best test was
to launch the tool and see. But after some bugs that only Gerhard automated
tests show me, now I know that tests are very important. we all write bugs,
it's the coder life after all. So with tests, we can take our time for
writing new features, not to solve bugs.

So if possible, before send a patch, just launch quick_tests.sh in the test
directory. It only need few seconds to run and you know that you do not
break anything (or that thing need more tests :) ).

Are the rules ok for every one? We think it's not too heavy, it's just
"better to do" and if someone do not want to do it and send us good patches
it's not a problem. It's just that if we can avoid simple bug with just
launch quick_tests.sh it's easier for every one :)


Jean & Gerhard
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Shinken-devel mailing list
Shinken-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/shinken-devel

Reply via email to