From time to time I see bugs in the code and I start thinking "really? is it possible that no one noticed that bug before? am i the first person to see this code?". I thought it might be worth writing a little post on what helps me to deal with bugs and software quality in general and what are the common pitfalls in developer's thought process. Although it is not a very extensive post i hope it may inspire some developers to try new approaches :-)
In general it is extremely rare for me to commit bugs that would make it into production (maybe less than one a year? hard to say as it is really rare). To be honest I can't remember a serious issue with my code for last 5 years.
The latest version of Firefox 3.6 does not work with Zend Studio Toolbar which is necessary to use debugging and profiling in Zend Studio for Eclipse. There is a working solution though :)
Some nice people prepared modified xpi file which can be downloaded and installed with firefox 3.6. It works like a charm.
I have worked with SOAP services from time to time but now i have actually even nicer way to debug them. I still use SOAPUI as its an amazing tool but now i can easily see what is PHP doing :- )
Before, i would simply log everything in raw xml with headers etc. before i sent it out and whenever i got a response back i would log hat too. This is a great way to keep history of what was actually sent and what did we actually get back in case of any investigations etc. It does not impact the performance that much if your volumes of calls are low so you can even enable it temporarily on production servers to see what is there.
It is a simplified version of firebug but the good thing is that it works in any browser so you can use debigging and inspecting of your code and pages in any browser in the same way.
From time to time you get some very nasty errors like infinite recursion or infinite loop. Being able to locate the error is crucial to quickly solving the problem.
Here are two tips that can help you find such nasty bugs in PHP code.
My work requires me to work more on performance optimizations so i need to do some home work from time to time :-) lately i started getting deeper into memcache to learn its internal structure and algorithms used. I know i wont make survive without a simple and quick way of checking status and statistics of my memcache. As a result of last weekend i am happy to share a nice stats tool.
I worked lately a lot with both zend debugger and xdebug and to be honest the profiler included in Zend Debugger is worse than xdebug. Some more details below.
About the author
Hi, my name is Artur Ejsmont,
welcome to my blog. I am a passionate software engineer living in Sydney and working for Yahoo!
If you are into technology, you can order my book Web Scalability for Startup Engineers on Amazon. I would love to hear what are your thoughts so please feel free to drop me a line or leave a comment.