You’re sure you fixed that last bug, but the app is still malfunctioning. You’re racking your brain for the cause. Paradoxically, the more you know about programming, the more likely you are to over-think the problem.
I’ve been there. My Seiden Group colleagues have taken to calling me their “CTO” (Chief Troubleshooting Officer), for my debugging skills.
Before you wear yourself out seeking obscure bugs, try these sanity checks:
- Is the affected function or program actually being called?
- You thought your latest code was merged/pushed/deployed. Was it?
- Could you be seeing old output, cached by some layer of the system?
- Are you testing with the correct virtual machine or server (For example, development vs. production)?
- Look for a typo, such as a misnamed variable or extra letter inserted in a string. Tried-and-true method: use a “diff” tool to find differences between old and new versions of your code. You do use a source code repository such as Git, don’t you?
Bonus sanity check: Ask your 9-year-old daughter to look at the code to find the glaring mistake. In debugging, as in life, don’t overlook the simple things.
Stephanie Rabbani, a senior consultant for Seiden Group, has been developing applications on the IBM i for over 14 years. She previously worked for BCD Software Professional Services. She has developed a large range of applications including shopping cart, ordering, warehousing, dashboards, mobile/responsive applications, and many others, for small to Fortune 500 companies.
Steph has chosen PHP as her primary language, is Zend Framework 2 certified and has expertise in various web development technologies, including RPG and WebSmart. She also has in-depth experience with DB2, SQL, and the IBM i environment. She speaks at local user groups and consults on the ongoing development of the PHP Toolkit for IBM i. She has been recognized by IBM as a “Fresh Face of IBM i.”
Contact us if you or your team could benefit from training, mentoring, advice, or hands-on development by our team of experts, including Steph, to help you complete your critical project.