Building my Toolbox and it feels GOOOOOOOD!

by Derek Sivers

Related link: http://advogato.org/article/258.html



Bram Cohen - the guy that made BitTorrent - has a really interesting essay called How to Write Maintainable Code.




In it, the part that hit me the most, is this:


Create tools: There are two ways of building a barn - one is to make a hammer and use it to nail the barn together, the other is to nail it together with your hands. They might take about the same amount of time, but the hammer will help you again in the future.



This relates to my earlier post on bottom-up programming - which to me is the total opposite of the way I've done things for 5 years and a real life-saver of a philosophy, really solving the mess I've gotten myself into, all this time.




So now, as I'm re-writing a lot of things from scratch, I'm remembering Bram's advice, and taking my time to create tools - nice reusable classes - so that all future development will be MUCH easier.




It takes a lot longer, and would appear to the outside like nothing is happening, but it's pouring a great foundation, and is really very exciting. I'm also using phpUnit2 (a PHP5 port of JUnit) - which has been wonderful. I write a test file for every class, and a test for every method.