When something you believe is false

When you’re programming, and the program you’re working on behaves in some way you don’t expect, then by definition there’s some assumption you’ve made about the system that’s incorrect.
Today I was working on adding some fields to a Django admin interface, and I got an unexpected error message when I tried to create a new object in the admin interface and save it. The code was very similar to other code I had previously written that already worked, so I tried to figure out what was wrong by identifying the difference.

The important difference I couldn’t see was that the name of a variable was the source of the problem. In this particular case, the field name (image) was colliding with the field name in a grandparent class, which caused the error to occur. I hadn’t considered that the name of the variable was a meaningful difference that could cause a problem, until I did a search on Stack Overflow and found someone who encountered a similar problem.

This is one of the hardest parts of programming: being able to systematically test your assumptions until you discover which of your current beliefs are false.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s