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

Reply via email to