Hello devs,

We all know that the current and past state of the Warzone codebase is
a rather sorry excuse for something. There are so many globals all
over the place, that it is almost impossible to separate out code for
proper unit testing or reuse. The code is buggy, and we do not have a
process in place to ensure that it gets better. I dare say that if the
only thing that keeps Warzone from sliding from bad to worse in terms
of bugs is hard work, there is no chance that we will not get to the
point of stability where we want to be.

To try to keep the addition of new bugs less than the number of fixed
bugs, we added commit rules. I still think they are important, but I
can't say they have been a great success.

I would like to suggest that we start refactoring the Warzone codebase
so that it can more easily be unit tested aggressively. That way we
can steadily add test upon test to ensure that the codebase gets
increasingly robust. In addition, it will help with code reuse between
different future applications that may want it (map editor, qwzm,
warzone studio, utilities, etc.). And we can clean up code while we're
at it. The plan I would suggest is to start moving code into a new
directory, lib/base/, where we put functions that can pass the
following criteria:
1) can be relevant for more than one application,
2) has *at least* one unit test,
3) uses *no* globals,
4) and follows the coding style guide.

I would like to start porting the map loading code there. If you like
the idea. Then hopefully we could all pitch in and port the functions
you are more familiar with and soon we will have a new, shiny and
improved Warzone codebase that everyone loves working with.

  - Per

_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to