[asterisk-scf-dev] Proposed Naming Conventions
Mark Michelson
mmichelson at digium.com
Mon Nov 21 16:34:57 CST 2011
Per https://issues.asterisk.org/jira/browse/ASTSCF-292, I have been
tasked with streamlining the naming convention for file, component, and
repository names in Asterisk SCF. If you take a look at the issue, then
you can see where some of the inconsistencies lie.
My proposal is the following:
1. All repository, file, non-component library, and component names will
be in UpperCamelCase.
2. All Slice source files, regardless of whether they are defining
interfaces or are listing classes, will end with "If".
3. All initialisms and acronyms that are typically written in all
uppercase will be formatted as such (e.g. use "RTP" instead of "Rtp" and
"PJMEDIA" instead of "PjMedia").
4. The C++ source file in each repo that defines the primary Icebox
service will be called "Component.cpp". This holds true whether the
service is defined as a subclass of AsteriskSCF::Component::Component
or the service is defined as a direct subclass of Icebox::Service.
Similarly, if the component provides a state replicator, then the name
of the source file should be "ComponentStateReplicator.cpp" and the name
of the header file should be "ComponentStateReplicator.h".
5. The C++ header and source files that handle configuration of the
component over Ice will be called "Configuration.h" and
"Configuration.cpp" respectively.
6. Unless there is a compelling reason not to, the primary component
provided by a repository will have the same name as the repository. The
state replicator should have the same name as the primary component,
with "StateReplicator" appended.
7. Where reasonable, a header file containing a primary class
declaration should have the same name as the class being declared (i.e.
class Foo should be declared in Foo.h).
8. Non-inlined definitions of a class's methods should be in a .cpp file
named after the class (i.e. class Foo's methods that are not defined in
Foo.h should be defined in Foo.cpp).
If there are objections to these guidelines or ideas for further
guidelines, please make them known.
Mark Michelson
More information about the asterisk-scf-dev
mailing list