I used to maintain Java programs in my job. I am just assigned a new project
and require to develop the application from scratch. I realize my coding
speed is much slower than when I was in college one year ago. I suspect
the rationale is that mainteance is based on the existing program structure,
but coding from scratch requires lots of practices. My conclusion is
hardcore coding really requires programming skills, but not necessary
ture in code mainteance.
What do u think?
I've done a lot of work on both sides now (hmmm, that reminds me of a
song...never mind). I think maintenance is tougher because to do it
well you need to figure out how the code works - but not everything,
just the part that affects your change. If you understand it well,
depending on the change you can sometimes do it with just a line or
two of code, saving major chunks of time. Unfortunately, you may not
be appreciated for it because then management just figures it was a
simpler change than they originally thought.
Too many developers write complicated code, thinking how impressive it
looks. It's easy to write complicated code - making it simple is much
more difficult.
Much of "new" development consists of (or should consist of) cobbling
together various pieces of software and packages in a manner such that
the desired results are attained. Massive time-savings can be achieved
if such an approach is used.
To be honest, I hardly ever write code from scratch. I will usually
find an example somewhere (e.g. Roedy's site) and start expanding on
it. Then go back and refactor until you're satisfied with not just the
results, but the quality of your code as well. In all liklihood,
you'll end up being the maintenance programmer for a period of time,
so you might as well make it as readable as possible.
Regards,
Sam90