Jump to content

Being a good application engineer/architect - how?

- - - - -

  • Please log in to reply
2 replies to this topic

#1
Marcinnnn

Marcinnnn

    Newbie

  • Members
  • PipPip
  • 17 posts
Hi,

I'm a good programmer. I can create programs and make them working on clients computers. But from some time I can see that this is just not enough. Sometimes I see code which is totally wrong because used technology is wrong, concept of this part of code is wrong and it becomes worst and there is no other way for it and the only thing I can do which make sense for me is writing this part of code once again from beginning - usually this is a big part of code or have big dependences or is very important.

How to avoid such situations? Is it just a matter of good and wide range knowledge (programming, design patterns, libraries, frameworks, application servers, operating systems) and experience or I need something more?

Thanks in advance for help! :-)

#2
artificial

artificial

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 624 posts
Hi!

First off, one needs to be a good programmer. As you said, you are good.
The other point is, like in all job fields, that you need experience. The more projects you've done, the more experience you have. This helps you to avoid situations like the one you mentioned above.
Additionally, I'd use UML-diagrams if I was you. It's a graphical map of your application and very useful when writing bigger projects.

Greets,
artificial
Sometimes words ain't enough to express something. That's why computer scientists use double words.

#3
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
The reality is you can't avoid this situation. There are programmers who specialize in refactoring code, just as you described. When doing debugging/adding features, it's not unusual for me to have to rework existing logic (my own or someone else's). Sometimes that includes restructuring code to make it more flexible, more robust, or just more aesthetically pleasing.

I know from personal experience that I have written code that was clean, neat, and elegant. After copying and tweaking it a dozen times in the same app, it starts to look ugly and hackish. That's when I have to stop and rework what I'm doing. Creating huge, ugly functions is just as easy. Add one feature... fifty times.

I'm reading the book by the author of this site: Refactoring Home
You can also check here: Code refactoring - Wikipedia, the free encyclopedia

The goal is to make small, well-understood changes, and let each change build until you have clean, correct code again.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users