Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In my job, among all the tasks assigned to me, I find the implementation of an enhancement that requires changes to the ER data model, the toughest. If we are adding a column to a table, it triggers the chain reaction where in a lot of changes needs to be made through out the code base to not break the existing functionality.

What are some of the most challenging code maintenance issues. I know that poor design itself is a big problem to deal with.

share|improve this question
2  
Hi HowdyTech, while this might make a great discussion topic, it's not a fit for the Stack Exchange style of Q&A. – Matthieu Jan 12 '12 at 21:27
1  
your problem is poor query design, adding columns isn't an easy thing, but it shouldn't break code adhering to best practices and explicitly listing columns. – Ryathal Jan 12 '12 at 21:51
1  
A better question might be how to avoid making changing the data model such a difficult part of maintenance. Especially if you explain what you do now and why it's difficult. – psr Jan 12 '12 at 22:18

closed as not constructive by Matthieu, GrandmasterB, Justin Cave, Dan McGrath, Robert Harvey Jan 12 '12 at 22:20

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

2 Answers

Rewriting or updating something is always tedious work. Of course databases will need more maintenance than a hardcoded algorithm but on the bottom-line you won't have any problems with both.

Things get difficult when you're confronted with a poor documentation. Reading code without proper comments means real trouble.

Some time ago I was supervising a programming course. The tasks they had to do were rather simple but nevertheless correcting their programs was incredibly challenging. Most of them were rather clueless and because they hadn't left any documentation for their broken code so was I.

share|improve this answer

Some difficult issues - All can be solved but...

  • Change of keys (Data Modelling)

  • Change of 1-m to m-m relationship (Data Modelling)

  • Debugging trigger actions on the database

  • Figuring out load issues with large text files (specially when there is no line break!) in production (and recovering from that)

  • Resolving deadlocks

  • Answering "What makes it take so long in production"?

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.