On Mon, Dec 13, 2010 at 4:12 AM, Benson Margulies <bimargul...@gmail.com> wrote: > Here's a voice of possibly non-relevant experience.
Some more non-relevant experience; Once upon a time, 24 years ago to be exact, we had released a industrial automation system in version 1.0, and shipped something like 100+ devices. There were a bunch of things we didn't get right, especially in the serial communication department inside our devices. So, I started a re-write of that, and suggested that we should change the both the 'default device address' (from 254:30 to 0:0) as well as the 'broadcast address' (from 255:31 to 255:255), but the 'legacy argument' came up; "This would serious affect all the existing users, have to learn a new address... bla bla bla", so it wasn't changed. Instead, for the next 24 years, batch after batch of new developers learning the system, would ask "Why those numbers?" and endless effort explaining the pre-historic details where they came from. Point I am trying to drive home; It is almost always better to take a large one-time hit, when something is seriously wrong, to create a time zero (t0), the Iridium layer in time, than maintaining that 'legacy' is more important. Doing so, you come across as "playing to not loose" instead of "playing to win". If you need to go looking for regression prior to that date, yes you will need better diff tools (those diff tools that ignore whitespace changes). But, if you think River is going to be here for the long-haul, the majority of your regression will happen 'later than now'. Hence, take the big reformat hit, get a 'nice state' now, prior to your "t0" release, and put in place Checkstyle to keep an eye on it, like Benson suggests. People has pointed out that "set the tab to 8 and indentation to 4 for the project"; Well, that works for the developers on River, but doesn't help "me", the user of River. When I have my settings, differently, and stepping through the River sources inside *my project*, I get the buggered up "mixed style", incoherent (if so) formatting of braces, whitespace and so forth. I enjoy readable code, even if the code is not formatted to my preferred style. I'll choose CXF, Maven or Spring any day over the JDK, Jini and other 'mixed style', whether that be in tabs/spaces or other styling. Speaking as a user; Please don't forget us. Not everyone reading River code are doing so within the River developer community, working on fixing River bugs,. And as Benson; This is a free, one-time advice, not a stance of mine, use it to the best of your knowledge... Cheers -- Niclas Hedhman, Software Developer http://www.qi4j.org - New Energy for Java I live here; http://tinyurl.com/3xugrbk I work here; http://tinyurl.com/24svnvk I relax here; http://tinyurl.com/2cgsug