The data for the SQL db used in my PHP code comes from an excel file made by non-programmers. When I can't manage to explain an issue that I am having with their excel file, I usually just try to code around it. This has lead to some pretty patchy code on my part. Does anyone else have experience with this? Is it generally better to try to code around others or is it better to be firm and demand a more robust table structure?
That depends, who's time is more valuable? This is not as straightforward as you may think. In the end, this is a business decision, not a technical one.
If you have 10,000 users, the user's time is probably more valuable in aggregate and you should code to accept as much as possible, since that will save them time.
If you have 5 users, and they are not particularly important, go ahead and demand whatever you like, it'll take them less time in the aggregate to fix their data than it will for you to code around their issues.
If you have 1 user, and it's the CEO, you best be accommodating because their time is way more valuable than yours.
As a SQL professional, I can assure you this is completely normal. I regularly have to deal with C# developers who do a poor job of database design and querying. Heck - I have to deal with SQL professionals who do a poor job too. (And can admit to having done a poor job in the past too).
I would try to encourage a culture of learning and self-improvement. Look for opportunities to refactor, and try to schedule a regular time (a couple of days per month) for refactoring, assuming you have decent testing in place to make sure that functionality doesn't actually change.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With