Anyone with a map showing the Soviet Union knows that “unchangeable” information actually does change. While working on an airline reservation system, I found that an airport had changed its three-letter code and its ‘official’ location. And the gyrations with daylight savings time have caught a lot of programs!
The lesson from this is that there are no tables in a database with truly static contents.
As software developers, it is very easy to pretend certain things will never change:
- ‘this program will never need translation or multi-byte characters’
- ‘the customer will always be in one time zone’
- ‘the data was collected accurately’
- ‘cities don’t change their spelling or the country they are in’
- ‘time zones never change’
- ‘the data was calculated accurately’
- ‘computer clocks are all in sync’
- ‘the data was transferred correctly’
- ‘there are no gaps in sequentially allocated numbers’
Even the laws of physics act weird in weird situations. Most of the data we handle don’t fall into the category of laws of the universe.
Make sure you know what you’re assuming. Check every form of data for how it could change, or how it could be incorrect. When you run into something really inscrutably static, avoid it or control it. Treat “unchangeable” data like land mines. If you can’t pull it out and defuse it, at least mark it so you won’t step on it.

Related Articles
No user responded in this post