All Development is Interface Driven Development, be it Web, Desktop, Mobile, or API.
statics or class methods should be inconsequential and isolated to be used in a production method. Inconsequential means that the method doesn’t go outside the VM to another system, doesn’t block, or requires a hard dependency that isn’t guaranteed.
The new keyword should be inconsequential and isolated to be used in a production method, unless it used inside of either a Builder or Factory pattern.
If a class has already met the requirements for it’s existence, leave it alone, use the Adapter, Observer pattern or AOP to enhance it’s functionality.
Using floating-point may not be a good solution, use an integral based number for the smallest unit in your domain (e.g. seconds, pennies, pence)
Copying and pasting the same thing multiple times is a sign that refactoring is in order, but do so after making sure your tests run.
Matthew McCullough: The tool you use the most should be the most
git clone git://github.com/matthewmccullough/hellogitworld.git practice1
git clone firstname.lastname@example.org:matthewmccullough/hellogitworld.git practice2