Skip to content

Latest commit

 

History

History
104 lines (80 loc) · 2.8 KB

CODING_STANDARDS.md

File metadata and controls

104 lines (80 loc) · 2.8 KB

PHPMarkup coding standards

Coding Guidelines

  • PHPMarkup is built to adhere to the Unix philosophy.
  • PHPMarkup is designed for use in other applications; not to be a monolithic solution.
  • PHPMarkup use PHPDocs blocks.
  • Classes use S.O.L.I.D. Design Principle.

Style Guidelines

  1. Variable names must be meaningful. One letter variable names must be avoided, except for places where the variable has no real meaning or a trivial meaning (e.g. for (i=0; i<100; i++) ...).

    Rule inherited from PHP.

  2. Variable names should be in lowercase. Use underscores to separate between words.

    Good:

    $person = new Person();
    $person_id = 1;
    $max_int_value = 2;

    Bad:

    $Person = new Person();
    $personId = 1;
    $maxIntValue = 2;

    Rule inherited from PHP.

  3. Method names follow the studlyCaps (also referred to as bumpy case or camel caps) naming convention, with care taken to minimize the letter count. The initial letter of the name is lowercase, and each letter that starts a new word is capitalized:

    Good:

    connect()
    getData()
    buildSomeWidget()

    Bad:

    get_Data()
    buildsomewidget()
    getI()

    Rule inherited from PHP.

  4. Class names should be descriptive nouns in PascalCase and as short as possible. Each word in the class name should start with a capital letter, without underscore delimiters. The class name should be prefixed with the name of the "parent set" (e.g. the name of the extension) if no namespaces are used. Abbreviations and acronyms as well as initialisms should be avoided wherever possible, unless they are much more widely used than the long form (e.g. HTTP or URL). Abbreviations start with a capital letter followed by lowercase letters, whereas acronyms and initialisms are written according to their standard notation. Usage of acronyms and initialisms is not allowed if they are not widely adopted and recognized as such.

    Good:

    Curl
    CurlResponse
    HTTPStatusCode
    URL
    BTreeMap // B-tree Map
    Id // Identifier
    ID // Identity Document
    Char // Character
    Intl // Internationalization
    Radar // Radio Detecting and Ranging

    Bad:

    curl
    curl_response
    HttpStatusCode
    Url
    BtreeMap
    ID // Identifier
    CHAR
    INTL
    RADAR // Radio Detecting and Ranging

    Rule inherited from PHP.

  5. All code must adhere to automated coding style checks.