24th
Unwanted side effects can be harmful to your…
Managing side effects is something you normally think about when taking pharmaceuticals. I am talking about the kind programmers encounter when writing their beautiful prose. Unit and functional tests are not only for your expected scenarios but they are also like your friendly just-in-time pharmacist. Sometimes that is not enough.
So how do we cope with those bug-making gremlins that creep into some edge case scenario before we need to get our stomachs pumped? If you start from scratch on a project the side effects are a bit more manageable. You know the system, you have your head wrapped around the implementations. A good macro view of your app that you can tuck into your gut (figuratively speaking) is IMO the best way to be side effect free, or close to it. It is easier said than done, esp when you are working in a team.
I try to get down and dirty with the app, starting with the tests. My friend is time. The more I screw things up and have to look over code the better. As time goes on, I can trust my gut. With a gut like mine, it takes a bit to fill. Every method I write, every line of code, I try to imagine what I am breaking. Those are the hidden skills of a great programmer. I still have a way to go…