Carlos Leyva

Silicon Stories

Chapter 5: The Missing Factory

Source Code Management (SCM)

« PreviousContentsNext »

Managing source code is one of your most important job responsibilities as a developer, project lead, or manager. Anytime you have more than one developer working on a project then source code management, using a commercial grade SCM product, is a must. There are a number of relatively inexpensive (and some free) products available that cost should not be a consideration. In the Microsoft universe, Visual SourceSafe is part of Visual Studio and essentially free.

The Basics

There are two basic considerations when setting up a source code management process. Define a set of roles and responsibilities:

And define a set of environments that will be supported:

Each environment comprises a distinct code repository. Security access should be granted to specific environments based on an individual’s role. A formal procedure with signoffs should be instituted for moving code between repositories. The movement of code between Development and Quality Assurance is usually where organizational standards are enforced (e.g. code reviews).

Naming Standards

Discussions concerning source code naming standards (e.g. for variables, methods, etc.) often stir up religious fervor among opposing factions. All of the leading commercial software providers have documentation available on their web sites with their recommended approaches clearly presented. The most important thing to do is select one of the recommended approaches and consistently adhere to it. There is absolutely no justification for rolling your own.

In Source Documentation

I am a big believer in the value of in source documentation, both at the module/class level and at the method level. Again, the exact template that you decide on is not nearly as important as getting developers to actually do it. The only feasible way I have found to encourage this practice is to convince developers that if they get in the habit of doing it as they go, it is not nearly as painful as they imagine. Adding in source documentation after the fact is extremely painful and almost never gets done.

« PreviousContentsNext »