Tuesday, 10 July 2007

R U a programmer or a hax0r?

I have a few questions:
  • when you write your new piece of code, be it in bash, C, python, haskell, ruby, perl or whever langauge, do you think about possible future uses? do you care about those when designing it?
  • do you take good care to make sure you can expand your data containers at a later point in ways which you didn't envisioned initially?
  • are you able to implement a feature which is cool 2 year after your application is in production? how about another feature? how many until you realize you can't anymore or you need to redesign and rewrite the whole thing?
  • do you care if your interface remains compatible?
  • how easy is it for you to jump into somebody else's code and fix it to do what you want? ...without breaking the original functionality?
If you are programmer you will know what you should have answered...

Update: this post was tagged as "rant" and the rant was about a badly written and too rigid code; this was not about trying to tell the future and implementing now what you might need later

1 comment:

Marius said...

I think Extreme Programming and other agile methodology proponents are right when they say you shouldn't try to predict the future. Make the code easy to change in the future for whatever uses you will discover you need, rather than changing it now to support uses you think you might need.

A good automated test suite helps immensely when you need to add new features without fearing you'll break something.