We have all gone back and looked at code we wrote in the past and thought "Wow, this is ugly.", or "wtf was I thinking?", or even "I wrote this yesterday, and I have no idea what it does." Refactoring is the process of going back over already-working code and cleaning it up for the sole purpose of understandability, maintainability, and preserving your self-worth if anyone else were to take a peak. No one likes to be humiliated by their own code.



I have fallen in love with CakePHP's integration of the SimpleTest
libraries. With the type of work that I normally do, unit-testing is
hard to utilize successfully. That is to say, most of the applications
I work on have very straight-forward components and not a lot of
complex functions/methods. I would only be testing whether or not they
worked at all, rather than if they worked in a wide-array of
situations.

PHP's greatest strength is also its greatest weakness. Flexibility.
There are an infinite number of ways to perform the same task which PHP
will happily do without so much as a peep as to how poor the code
really is. Sadly, most developers endure a trial by fire where they
only learn from their mistakes after it's too late.
Bugs are an inevitable part of any development project that most
people loath or at least generally dislike. If you take the time to
examine this phase of a project you will find that it's not the bugs
that really irk you, but the way they are presented, described, and
handled.
I finally got around to installing xdebug on my development
environment and have decided it is the best thing since sliced bread.Installation was a breeze and the information it provides when something has gone wrong is incredibly helpful during debugging. What I didn't know, and hope to help others by documenting it here, was the amount of configuration options Xdebug has. The base install has some irritating limitations that are easily addressed with a few simple lines in the php.ini file. 