Test Driven Development with Python
I have been fascinated with the idea of test-driven development for a few years now. It is part of the salad of changing ways of making/sustaining code that includes Agile, Lean, DevOps and a few other significant buzz-words. Right now, between assignments, I am digging into a book I’ve had for at least two years called “Test Driven Development with Python,” by Harry Percival. I know it’s been at least two years (I suspect more like three) because the 2nd edition is going to be released real soon now. If I’m right, then the text I am following on the site if for the 2nd edition (whereas I have the first edition on my computers).
So far, a lot of what I am doing is meta. As part of my prep, I had to find the latest version of Firefox which works with Selenium (not, apparently, the latest versions of both). I’m rehabilitating my python, which was never very advanced and needs improvement. I’m also thinking about text editors. I’ve been using a nice editor called “Coda” for my HTML and CSS and all of the regular site maintenance I do on my 1990s websites (the ones that will eventually be replaced by Django--at least, Django is the target this month. We’ll see how this goes. I spent several years years intending to move to Drupal, which is familiar, and which I like on a lot of levels. But, really, if I am coding for myself, do I really, really want to get deeper into PHP? Hell no. Python is the language I love, the first language I have loved since Turbo Pascal, however imperfectly I know it. So, now, as I say, it’s revamp what I know of python, then on to django and new websites.)
Right. Editors. So, I want to be using a second text editor, so that my HTML and CSS and the zillion files opens for current maintenance are in one context, and all of the python stuff is open in a different context. I’m considering using Komodo, which I have used before and like--although I have had trouble figuring out how to make regexes work with it. I am also considering ponying up for Sublime or some other text editor. Suggestions welcome.
The milestones to get to the new websites go something like this at the moment:
* Use the TDD book to learn a bit about TDD. That includes subtasks like, getting comfortable with Django, git, ansible (or other automated configuration/site setup tool), figuring out where I want my code to live (i.e., do I continue to develop on my local testbed, promoting to my traditional ISP, do I move to AWS, or do I find a PaaS environment that works for me. I lean towards PaaS because I don’t want to be spending time doing what a friend calls “yak shaving”--worrying about the distracting minutia that would be handled elsewhere were I using these skills professionally, rather than as a hobbyist. But in the messy, “figure it out” phase, I’m likely to move to AWS (because I know it, because it will be easiest to set up all the subdomains I want, and because I can access it easily from all of my computing devices)
* Having decided on an environment and how to sustain it, dig into Django and begin replacing critically-broken parts of my personal websites
* Assimilate lessons learned and migrate.
In any event, having broken my person websites and their accompanying blogs, I am likely to use this tumblr record what I’m learning as I learn it. Hope to, at any rate.















