Naming Conventions

To keep things consistent across various efforts and systems, a convention for the naming of various identifiers is important. This document lays them out clearly, by identifier type.

Repository Naming Conventions

Naming the repositories under a DevOps project has no explicit conventions. Instead, a requirement is that a convention be set by the project team(s). The decided convention should result in names that are consistent and concise.

Solution Naming Conventions

A “solution” here refers not just to Visual Studio solutions (.sln) but to any IDE/language environment where several modules are encapsulated by a single container.

The naming convention for these containers is straightforward: <project-name>.<component-name>. The component-name part refers to which component in the system is represented by this collection of modules.

Optionally, the company name can be prefixed as well, as in <company-name>.<project-name>.<component-name>. If selected, this should be consistent across all solutions in the entire DevOps project (even across repos).

Some examples:

Often, in more microservice-oriented systems, solutions will have fewer modules within them, which reduces the need for broadly applicable names that identify an entire component of a system.

Module Naming Conventions

When naming modules, use a convention similar to naming solutions: <project-name>.<component-name>.<module-name>. Again, company name can be prefixed but should be consistent across all solutions in the DevOps project if selected.

You have the following 4 types of projects:

Use these to help inform the names of your modules. Examples:

Anti-Patterns in Module Naming

DO NOT name your module any of the following:

Usage of these names almost always indicates a failure in design, as referenced in the sub-points above.

Code Object and Variable Naming Conventions

These will differ between various programming languages. However, avoid certain patterns such as:

C# conventions can be found here.

Python conventions can be found here.

For languages that do not have explicit conventions, follow general guidelines laid out here and reach out to your team lead(s) for more information and to create a convention.

Anti-Patterns in Object Naming

All of the rules that apply to module naming apply here as well.