ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Deisgn of applications at home

(1/2) > >>

mnemonic:
At work, we design Java applications using "UML as a blueprint", having separate people designing and coding the applications.  Although this is a tedious and long-winded process (mainly due to the synchronisation of the UML classes and the developed classes), generally the objects designed reflect the developed classes that go-live.

During coding at home, I've always tended to jump straight into coding applications - almost always meaning a complete overhaul of the objects halfway through the development process due to them becoming "just a load of barely-related subroutines".

Does anyone do any up-front design on their applications when working on an application where they are the sole developer?  Or, does the whole "re-architect half-way through development" always happen and it just gets better with experience?

Shades:
Deisgn of applications at home....

The title says it all  ;) :P

And yes, you should design a piece of software (general functionality)  on paper or in a document first. In the end you will be faster done and it usually ends up in more understandable (and re-usable!) code. It makes the creation of documentation also easier. Also, it doesn't hurt to take some good work habits to your home.  :)

mnemonic:
Not only dodgy spelling in the title, but I also mixed classes and objects up all over the place  :D

Do you create UML diagrams (class, sequence and activity?) or is it just a "whatever works"?

Shades:
Nope, scared to admit it...but I'm still a pen & paper guy.

mouser:
I enjoy planning stuff on paper and always spend some time planning before coding.

I've also learned that no matter how much planning you do.. it's almost never the case that things don't change during development, and you have to accept and expect that.

More and more I find myself in the "plan to throw one away; you will, anyhow" camp.

This isn't always (often) feasible, but i find it a useful approach if you are someone like me who can spend excessive time planning and can sometimes get stalled in the planning stages because you can't seem to get everything locked down and figured out.  In times like that, trying to solve everything before you start coding can feel like a marathon where the finish line keeps getting moved back.  Deciding to just start coding a first experimental version i think can be the trick that unblocks you.

If you look at it like that, then "jumping in and starting to code with little planning" actually IS PART OF THE PLANNING (but only if you actually stop and throw away the first version and do a round of planning before moving on to the final version).

Navigation

[0] Message Index

[#] Next page

Go to full version