A legacy code base can be a frightening thing. Between strict deadlines, ever-evolving requirements, differing skill levels of contributors over time, and historical circumstances, keeping database code clean and concise is difficult at best. This example- and demo-driven talk will help you build out a mental framework to prune those gnarled code bases. Much of this talk will be familiar to software developers who know of the "clean code" philosophy, but no knowledge of the topic is necessary. If you shudder whenever you look at your SQL code base, this talk may be for you.
No recordings or additional media are available for this talk.
These links are in no particular order. Which source control system you use matters less than simply using a source control system. My personal recommendation is Mercurial, although Git is a more popular choice.
Git is an extremely popular distributed source control system, and tends to be the de facto choice for open source software.
Mercurial is a competing distributed source control system and is used in some open source projects, although not to Git's extent.
Subversion (SVN) is a venerable, centralized source control system. Although many companies are moving to distributed systems, you will still find SVN in a lot of workplaces.
Team Foundation Version Control is the source control spin-off for Team Foundation Server. The TFS group offers support for TFVC as well as Git, but to me, the tea leaves indicate that they are moving away from TFVC over time. My recommendation is that you do the same.
Having working, repeatable tests is vital for refactoring code. Although this presentation does not cover how to implement database testing in any detail, I want to provide a number of links to help people get started.