Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  coding_style.md   Sprache: unbekannt

 
Spracherkennung für: .md vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

XRdp Coding Style
=================

The coding style used by XRdp is described below.

The XRdp project uses astyle (artistic style) to format the code. Astyle
requires a configuration file that describes how you want your code
formatted. This file is present in the XRdp root directory and is named
`astyle_config.as`.

Here is how we run the astyle command:

    astyle --options=/path/to/file/astyle_config.as "*.c"

This coding style is a work in progress and is still evolving.


Language Standard
-----------------

Try to make all code compile with both C and C++ compiler. C++ is more
strict, which makes the code safer.


Indentation
-----------

4 spaces per indent
* No tabs for any indents



    if (fd < 0)
    {
        return -1;
    }


Line wrapping
-------------

* Keep lines not longer than 80 chars
* Align wrapped argument to the first argument



    log_message("connection aborted: error %d",
                ret);


Variable names
--------------

* Use lowercase with underscores as needed
* Don't use camelCase
* Preprocessor constants should be uppercase



    #define BUF_SIZE 1024
    int fd;
    int bytes_in_stream;


Variable declaration
--------------------

* Each variable is declared on a separate line



    int i;
    int j;


Whitespace
----------

* Use blank lines to group statements
* Use at most one empty line between statements
* For pointers and references, use a single space before * or & but not after
* Use one space after a cast
* No space before square brackets



    char *cptr;
    int *iptr;
    cptr = (char *) malloc(1024);

    write(fd, &buf[12], 16);


Function declarations
---------------------

* Use newline before function name



    static int
    value_ok(int val)
    {
        return (val >= 0);
    }


Braces
------

* Opening brace is always on a separate line
* Align braces with the line preceding the opening brace



    struct stream
    {
        int flags;
        char *data;
    };

    void
    process_data(struct stream *s)
    {
        if (stream == NULL)
        {
            return;
        }
    }


`if` statements
---------------

* Always use braces
* Put both braces on separate lines



    if (val <= 0xff)
    {
        out_uint8(s, val);
    }
    else if (val <= 0xffff)
    {
        out_uint16_le(s, val);
    }
    else
    {
        out_uint32_le(s, val);
    }


`for` statements
----------------

* Always use braces
* Put both braces on separate lines



    for (i = 0; i < 10; i++)
    {
        printf("i = %d\n", i);
    }


`while` and `do while` statements
---------------------------------

* Always use braces
* `while` after the closing brace is on the same line



    while (cptr)
    {
        cptr—;
    }

    do
    {
        cptr--;
    } while (cptr);


`switch` statements
-------------------

* Indent `case` once
* Indent statements under `case` one more time
* Put both braces on separate lines



    switch (cmd)
    {
        case READ:
            read(fd, buf, 1024);
            break;

        default:
            printf("bad cmd\n");
    }

Comments
--------

Use /* */ for comments
Don't use //

[Dauer der Verarbeitung: 0.30 Sekunden, vorverarbeitet 2026-07-10]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik