Details

It is important for the components we create to have their own unique namespace so as to not conflict with exsisting components in Angular or external libraries that may be used. The best practice for namespaces it to use lowerCamelCase and a unique prefix for the scope of an application. For example, in the code below, if a directive with name mycomponent was created, you would be warned to use a more appropriate name.

angular.module('breadcrumbs').
  directive('mycomponent', function() { ... });
});

Improved namespace:

angular.module('breadcrumbs').
  directive('abMyComponent', function() { ... });
});

A prefix like ab that is defined uniquely for the scope of an application (think of the ng prefix used for AngularJS directives) ensures that custom directives defined with that prefix are less likely to conflict with the names given to AngularJS directives or directives loaded from third parties.