of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.
response to hook. Get Flickr username from database. Get Flickr user ID from API. Get Flickr user information via API. Construct Flickr "buddy icon" URL. Save buddy icon URL to database.
response to hook. Get Flickr username from database. Get Flickr user ID from API. Get Flickr user information via API. Construct Flickr "buddy icon" URL. Save buddy icon URL to database.
sequence. Unit test individual units of code, independently of each other. Difficult to test thoroughly. Test before code. Impossible to test edge-cases. Mock objects. Lots of up-front decisions. Defer the big decisions. Makes me want to gouge my eyes out with a spoon. Actually rather pleasant.
a genius, you don't need these rules. If you are a dolt, the rules won't help. For the vast majority of us in between, following these… simple rules can lead us to work much more closely to our potential.