Although this article is titled "Best Practices for Scientific Computing" I think the principles and suggestions are much more universal. If you are writing scripts or more serious code in any language for any field this might be worth the read. I found the article here:
http://www.r-bloggers.com/document-design-and-purpose-not-mechanics/
By the way if anyone is interested in version control using git/github I have put up a cheat sheet here:
https://github.com/bryanhanson/MiscDocuments
It is limited to the operations I do regularly, which don't begin to touch the full power of git. If you are interested in the full power for git I can point you to some wiki's where people explain how they use it on large projects with many contributors.
Bryan