[josm-dev] Spaghetti code
Igor Shubovych
igor.shubovych at gmail.com
Thu Feb 5 00:22:02 GMT 2009
2009/2/5 Frederik Ramm <frederik at remote.org>
> Igor,
>
> Igor Shubovych wrote:
>
>> I really do not want to abuse anybody, but ... this is spaghetti code.
>>
>
> We don't have GOTOs though.
>
> I suggest you read, and try to understand, the discussion that begins with
> this message:
>
> http://lists.openstreetmap.org/pipermail/josm-dev/2008-August/001433.html
>
> The essence of that is:
>
> 1. JOSM is not a classic, by-the-book Java application;
> 2. We're happy to improve JOSM but we try not to raise the bar too high for
> newcomers without Java experience;
> 3. If you want clean design, contribute to JOSM-NG instead.
>
> You are preaching basic OO design rules to us; there's no need to, we know
> them. We are disregarding them on purpose, which has a price (your slightly
> overexaggerated "55 places to edit", which by the way modern UIs will often
> do for you) and also has a benefit (simplicity, and no need to bloat the
> code with hundreds of accessors).
>
> JOSM differs from what you have learned or read about OO design not because
> its makers were stupid BASIC programmers but because its makers made a
> conscious decision to do things differently.
>
> That being said, there are definitely cases where JOSM would benefit from
> using a classic OO approach, like the bit about the status message you
> quoted. We're very open to changing these things on a case-by-case basis; we
> just don't want wholesale refactoring "just because this is how OO is taught
> at school".
>
> If you're willing to work with JOSM as it is today, slowly improving it
> where there is a need, then you're welcome to help. If you think JOSM is a
> pile of crap that needs to be rewritten completely because its programmers
> are obviously idiots, then you are definitely not alone, but there will be
> little you can do to help JOSM; you might think about helping the JOSM-NG
> effort which is like JOSM, but leaner, meaner, faster, and with a clean
> architecture. It doesn't have the rich feature set yet but if enough people
> make the switch, it will.
>
> Bye
> Frederik
>
> --
> Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
>
Frederik,
Ok, I understand.
But what about small refactoring steps. Step by step the code better.
As I see it is histrorical problem, you didn't want to broke the plugins.
With current design JOSM cannot evolve fast. One day you will need to change
too many lines, to add one feature.
BTW, I never said somebody is idiot. Just saw you are writing it
differently.
Kind regards,
Igor Shubovych
More information about the josm-dev
mailing list