Developer Docs - 101 - Launchpad - Naming Conventions
Here are some rules to follow so your stuff doesn't collide with other's stuff. We've decided to standardize on using your organizations's domain name as the main naming prefix. Keep reading, you'll see what we mean below.
Quick Reference
In all cases below the "domain" (reversed.domain, etc.) MUST be lowercase.
The domain name is always in lowercase.For blocks, block location, attributes, and sql stuff, the reversed domain uses an underscore (_) instead of a dot. This is intentional to help prevent namespace resolution conflicts. Also, using a dot can be problematic when used in Lava.
To avoid collisions with admin created attributes, the Rock core team will prefix attribute's attribute [Key] with "core_". Example: core_LastSendDate
SQL: Custom Tables, Stored Procedures, User Functions
Custom tables should be prefixed with an underscore followed by your reversed, lowercase domain name, then your ProjectName -- replacing all dots with underscores.
Custom Namespaces, Classes & Assemblies
Prefix your namespaces/classes & assemblies with your reversed, lowercase domain name, then your ProjectName.
namespace org.rocksolidchurch.MyProjectName
{
public class Book
{
public int Id { get; set; }
// ...
Private class properties should be prefixed with an underscore as illustrated here.
#region Fields
private int? _fooId;
private Note _note;
#endregion
Custom API
When developing custom API extensions, you must use a folder convention api/<com.domain>/ (such as api/org.rocksolidchurch/) to avoid collisions with other custom developer APIs.
Standard Control Variable Naming
If you really want to make the core team happy, you can follow these naming conventions on your entity property/fields:
Items shown in bold are the most frequently used controls.
We'd also recommend these naming conventions on your entity property/fields:
Utility Class Naming Conventions
Lastly, here are a few conventions for any UI controls you might create: