views:

352

answers:

9

When you have a ignorant boss who doesn't know how to code or don't know anything about Object-Orientation then ditching out spaghetti is the best form of coding. Or is it? What to do?

+16  A: 

Even with most ignorant boss I never lower my personal "standards", if you're about this. It just doesn't feel right. Quality work allows me to take pride in it, which is a big thing.

After all,

Always code as if the person that will maintain your code is a maniac serial killer that knows were you live

Anton Gogolev
+1  A: 

Read this bosses, customers, stakeholders, you still have your sanity to defend.

Mark Dickinson
+5  A: 

ditching out spaghetti is the best form of coding

If you wish to stay a stone-age coder then yes. Otherwise you should strive for the best possible quality, even if there is noone around to appreciate it. Only through challenging yourself will you grow and better as a professional.

Developer Art
+6  A: 

Spaghetti code may mean cheap and quick to delivery in the short term but maintenance and long-term costs are far higher than high-quality OO code.

The longer you hack away at spaghetti code the more time you spend fixing regressions and trying to understand how the damn thing works rather than adding new features. This gets to the point where an expensive (or very expensive) rewrite is required and bang go all your initial "savings".

Paolo
+1. My thoughts exactly. The scary part is that is usually IS cheaper and quicker to begin with. So, many things that are thought to be a one off thing get written carelessly and then perpetuate themselves by life circumstances. It's hard to balance that from a business perspective for people who know naught of software development.
Vinko Vrsalovic
+1  A: 

It's up to you, but surely if your boss doesn't know either way, then why not do it properly and make yourself better in the process?

Mark B
A: 

First and foremost, be a professional. If not to your boss, then to yourself.

Second, if you write spaghetti code, it will come after you. The software business is a small world and spaghetti code travels faster than professional code.

Third, what goes around comes around. If you write spaghetti code, don't complain when spaghetti code gets dump on you to maintain.

C.D. Reimer
I maintain a lot of spaghetti code applications, and it is becoming a living nightmare.
poo
+1  A: 

What to do?

Well, the root cause problem here is your boss who needs to change his understanding regarding software produced in-house. One approach is to try make that person understand and thus start treating that piece of program as a valuable company asset in the same way he treats other company assets (machinery, know-how, documentation or whatever you are using).

On the other hand, object-oriented programming is not always the best approach. There are lots of great programs out there that is written precedural, yet still maintainable and definately not spaghetti. So I always strive to create the simplest possible solution in the spirit of YAGNI wether it turns out to be OO or not.

Martin Wickman
+1 for OO is not always the answer and that spagehetti is not the only alternative.
Paolo
+2  A: 

You should look at the problem objectively like i had to. When i sadly thought myself after a lot of boring things.. "hey man what does your experiences told you?"

And i answered clearly: "Don't work or be partner with anyone who has no understanding about what you are actually doing."

So after that point i made my decisions upon this principle. And i am so happy now. And never bored myself with these craps.

Harun ESUR
+1  A: 

Cheap, Good, Fast: pick two.

Usually, customers want code that costs as little a possible and they want it as quickly as possible.

mouviciel