Chris' Brain - Almost October 2009 Edition post

September 24th, 2009

Can you tell I have nothing earth-shattering to talk about? Here are the two things taken up processing space in my brain

I won't use frameworks without built-in testing support any more

I'm doing some very hairy refactoring of code at work to support a new concept of ownership of content generated by the application. If I had been honest with myself and started the project with TDD practices, I'd be in much better shape. While the framework that it was built with is all the things it talks about, it is a non-trivial task to add a testing harness to it. I'm trying to setup this environment but I've run into a problem with being too stupid to figure out the changes to my Apache .htaccess file to make it work (UPDATE: Thanks to @spooons for helping me out to get it working).

So you can take your lightweight frameworks and chuck them out the window if I have to waste more than 15 minutes of my time figuring out how to write tests for it. TDD is an essential tool when you get to the maintenance phase of a project.

Django Applications are doing things right

If you use Django, you can find lots of third-party applications that you can literally drop into place into your existing one and start using it. Can you imagine doing this with your favourite PHP framework? Being ignorant, I have no idea how easy it would be to create something like Django-Socialauth for Zend Framework, where you can drop it into your application and it comes with templates and models and controllers for handling all these things. I was astounded by both the foresight that went into Django that allows people, as long as they follow specific conventions, to create standalone applications that you can use in pretty much any Django application. As long as you haven't hacked Django itself too much.