<commit_before>For more detailed information on contributing to SEGS development, please see [CONTRIBUTING.md](CONTRIBUTING.md)

This document is more of a statement of intent, then statement of fact :)
***
1. Use spaces instead of tabs. ( Most editors allow one to set this up so 'tab' = 4 spaces )
2. The target brace style is: 
```cpp
    namespace L
    {

    void exampleFunction(int params)
    {
        if (pred)
        {
            statement;
            statement;
        }
        else
        {
            while (pred) 
            {
                statement;
                statement;
            }
        }
    }

    }
```

3. Lines should be limited to 120 characters; break longer lines.
If an if statement has to be broken, use an extra tab on the continuation line e.g.
```cpp
    if (very very very very very very very very very very very very
            very very long predicate)
    {
        statement; ...
```
4. In header files, reserve 2 tabs for the optional keywords virtual or static,
and reserve enough tabs for the longest return type. i.e:
```cpp
    class X
    {
    public:
                        X();
                        ~X();
    virtual SomeType *  function();
    static  void        otherfunction();
    };
```

5. Use descriptive function/member names (autocompletion is your friend). Also, consider naming your variable with the following formats for consistency and readability:
```cpp
    #DEFINE     DEFINE_VAR                      // for DEFINE variables
    auto        m_member_var;                   // for member variables
    auto        s_file_scope_var;               // for file scope variables
    auto        g_global_var;                   // for global variables.
    auto        throw_away;                     // for single-use limited scope, or throwaway varables.
    QString     m_underscore_separated_words;   // underscore separate words
    int         s_dont_identify_type_in_name;   // don't identify the variable type in the name. Type may change!
    bool        g_abbrev_are_ok_if_obvious;     // abbreviations are ok, if they are obvious.
    
    // real examples from source:
    QString     m_character_description;
    bool        m_is_flying;
    uint32_t    m_experience_points;
    glm::vec3   m_pos;                          // with members m_pos.x, m_pos.y, m_pos.z;
    float       yaw;
```

6. Doxygen Comments - IMHO The place for doxygen comments is in the source file.
Headers should be clean of comments, as to allow for quick class interface scanning
<commit_msg>Removed duplicate message and added info link<commit_after>This file is now merged with CONTRIBUTING.md.

For more detailed information on contributing to SEGS development, please see [CONTRIBUTING.md](CONTRIBUTING.md#coding-styleguide)
{'fraction_non_alphanumeric': 0.0649767940021421, 'fraction_numerical': 0.004998214923241699, 'mean_word_length': 2.019396551724138, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5680657', 'n_tokens_mistral': 767, 'n_tokens_neox': 717, 'n_words': 299}