Jun 16, 2012

Cool Composure

Once I worked out the behavior of the "dot" notation and resource paths (I've now learned it's called "object.attribute" notation) I wondered how you would deal with building multiple projects simultaneously on one system, as well as working with other team members on a project. You know, if you begin to hard code your project directories into PATH variables it can get messy. Someone has already thought of how to segregate multiple Python workspaces on a single system and they built "virtualenv". I've run plenty of virtual machines in VMware and VirtualBox, but in this case it's just a way of working in the same filesystem with a separate "paradigm" of installed software (ie. Django) and PATH environment variables. That way you can develop multiple projects without muddying the waters between them.

Introducing multiple team members into developing a project can really threaten your cool composure. I actually worked on a team before, maintaining websites with php code, and we would each upload our updates to the live server. The nightmare here is that we didn't exercise any kind of version control or repository management. Bascially, whoever uploaded the file last would win. We may have been working on separate elements or redundantly fixing the same bugs, but several times I would be frustrated to find that my work would be mysteriously eradicated. Believe me, I'm ashamed now, but I didn't realize I had become a coder (and hadn't put any thought in how to be a professional coder) and the company was built on the mindset of, "shoot, shoot, shoot, shoot, ..., aim." I have now discovered "git" for creating a files repository with version control, and an extension called "tig" for browsing files in the repository. Now it shouldn't be a mystery which edits will win.

No comments:

Post a Comment