|
<ol><li><strong>Naming:</strong> Classes will be initialized with an upper case letter, example: ( ADIOS, NETCDF, PHDF5, Transform, Transport, etc. ). <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code> class filedescriptor : public transport
|
|
<ol><li><strong>Naming:</strong> Classes will be initialized with an upper case letter, example: ( ADIOS, NETCDF, PHDF5, Transform, Transport, etc. ). <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code>class filedescriptor : public transport
|
|
{...</code></pre></li></ul></li><li><code>Do</code><ul><li><pre style="border: 0;"><code> class FileDescriptor : public Transport
|
|
{...</code></pre></li></ul></li><li><code>Do</code><ul><li><pre style="border: 0;"><code>class FileDescriptor : public Transport
|
|
{...</code></pre></li></ul></li></ul></li><li><strong>Members:</strong> Class member variables will use hungarian notation "m_" prefix followed an upper case letter: m_XMLConfig, m_Shape. This method enables easy autocomplete of members in many editors. While member functions will have the same rules as regular functions (<em>e.g.</em> start with an upper case letter). <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code> class Transport
|
|
{...</code></pre></li></ul></li></ul></li><li><strong>Members:</strong> Class member variables will use hungarian notation "m_" prefix followed an upper case letter: m_XMLConfig, m_Shape. This method enables easy autocomplete of members in many editors as it's encouraged by the clang-format. While member functions will have the same rules as regular functions (<em>e.g.</em> start with an upper case letter). <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code>class Transport
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
std::string Name;
|
|
std::string Name;
|
... | @@ -8,7 +8,7 @@ |
... | @@ -8,7 +8,7 @@ |
|
{
|
|
{
|
|
public:
|
|
public:
|
|
std::string m_Name;
|
|
std::string m_Name;
|
|
</code></pre></li></ul></li></ul></li><li><strong>Structs:</strong> reserve structs for public member variables only, Structs should not have member functions, inheritance or private members. Structs will be initialized with an upper case letter and member variables won't use hungarian notation as classes. <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code> struct Attribute
|
|
</code></pre></li></ul></li></ul></li><li><strong>Structs:</strong> reserve structs for public member variables only, Structs should not have member functions, inheritance or private members. Structs will be initialized with an upper case letter and member variables won't use hungarian notation as classes. <ul><li><code>Don't</code><ul><li><pre style="border: 0;"><code>struct Attribute
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
std::string m_Name;
|
|
std::string m_Name;
|
... | @@ -16,7 +16,7 @@ |
... | @@ -16,7 +16,7 @@ |
|
std::string m_Value;
|
|
std::string m_Value;
|
|
void SetName( const std::string name ); // Use a class instead
|
|
void SetName( const std::string name ); // Use a class instead
|
|
}
|
|
}
|
|
</code></pre></li></ul></li><li><code>Do</code><ul><li><pre style="border: 0;"><code> struct Attribute
|
|
</code></pre></li></ul></li><li><code>Do</code><ul><li><pre style="border: 0;"><code>struct Attribute
|
|
{
|
|
{
|
|
std::string Name;
|
|
std::string Name;
|
|
std::string Type;
|
|
std::string Type;
|
... | | ... | |