Yes, I know there are a lot of software development "top n" lists out there, and many dealing with writing "-[i/a]ble" software (extensible, maintainable, saleable, etc), but personally I wanted to get these concepts that have been rattling around in my brain for sometime down somewhere and hopefully start a discussion around them. Even though this isn't a wiki, I'll probably end up treating this like a living document myself.
For a long time (in software years), I've been maintaining the code base for the JDBC driver for MySQL. I also work very closely with the support team on various connectivity-related issues (JDBC, ODBC, ADO.Net, P-this-or-that, etc.) that our customers have, and have had the (mis)fortune of debugging all kinds of problems in various stacks over the years.
Sometimes we (MySQL) make debugging more of a problem than it needs to be, and sometimes it's just inherent problems in the "stack". Given that I …
[Read more]