Kodningsstandarder

For at opnå en konsekvent læsning af al kildekode, er det vigtigt at holde kodningsstilen ens i hele aRts' kildekode. Vær derfor rar og forsøg at skrive/formatere din kildekode i overensstemmelse med dette, også selvom du kun skriver et modul, eftersom det gør det enklere for forskellige personer at vedligeholde kildekodetræet, og lettere at kopiere dele af kildekoden fra en fil til en anden.

Navngivning af medlemsfunktioner

Qt™/Java™-stil. Dette betyder at store bogstaver bruges til at markere nye ord, og at det første bogstav altid er lille. Ingen understregninger.

Dette betyder for eksempel:

createStructureDesc()
   updateWidget();
   start(); 
Klassemedlemmer

Klassemedlemmer har ikke store bogstaver, som for eksempel menubar eller button.

Når der er funktioner som bruges til adgang, skal standarden som bruges være ifølge MCOP-måden, dvs. hvis der er et "long" medlem foo, som ikke skal være synlig, så laves:

foo(long new_value);
   long foo(); 

funktioner for at hente eller sætte en værdi. I dette tilfælde, skal den rigtige værdi for foo opbevares i _foo.

Klassenavne

Alle klasser skal have store bogstaver for hvert ord, hvilket betyder ModuleView, SynthModule. Alle klasser som hører til biblioteker skal bruge aRts-navnerummet, såsom Arts::Soundserver.

Implementeringer af MCOP-klasser skal døbes Class_impl, som for eksempel SoundServer_impl.

Parametre

Parametre har altid små bogstaver.

Lokale variabler

Lokale variabler har altid små bogstaver, og kan have navne såsom i, p, x osv. hvis det passer.

Tabulatorbredde (skiftbredde)

Et tabulatortegn er lige så meget som fire blanke tegn.

Mellemrum i udtryk

Normalt behøver du ikke bruge mellemrum i udtryk. Du kan i alle tilfælde bruge dem mellem operatorer og deres operander. Hvis du skriver et mellemrum før en operator (f.eks. +), skal du også skrive et mellemrum efter operatoren. Den eneste undtagelse fra dette er udtryk som ligner lister (med ,), hvor du kun skal bruge et mellemrum efter ",", men ikke før. Det er også i orden at udelade mellemrum her.

Følgende eksempel demonstrerer god brug af mellemrum:

{
    int a,b;
    int c, d, e;
    int f = 4;

    a=b=c=d+e+f;
    a = b = c = d + e + f;

    if(a == 4) {
        a = b = c = (d+e)/2;
    }

    while(b<3)
        c--;

    arts_debug("%d\n", c);
}

Følgende eksempel demonstrerer hvordan man ikke skal bruge mellemrum. For funktionskald, efter if, while, for, switch og så videre, skrives intet mellemrum.

{
    // DÅRLIGT: Hvis du skriver en liste, skriv kun mellemrum efter ","
    int a , b , c , d , e , f;

    // DÅRLIGT: ikke symmetrisk brug af mellemrum for = operatoren
    a= 5;

    // DÅRLIGT: Hvis det anses at være en funktion, og ikke følges af et mellemrum
    if (a == 5) {   
    }

    // DÅRLIGT: skriv ikke et mellemrum efter while
    while (a--)
        b++; 

    // DÅRLIGT: Funktionsnavne følges ikke af et mellemrum
    arts_debug ("%d\n", c);

    // DÅRLIGT: heller ikke medlemsnavne
    Arts::Object o = Arts::Object::null ();
}
Navngivning af kildekodefiler

Kildekodefiler skal ikke have store bogstaver i navnet. De skal have samme navne som klassen hvis de implementerer en enkelt klasse. Deres filendelse skal være .cc hvis de indeholder Qt™- og grafikuafhængig kode, og .cpp hvis de indeholder Qt™- og grafikafhængig kode. Implementeringsfiler for grænseflader skal benævnes foo_impl, hvis Foo er grænsefladens navn.

IDL-filer skal benævnes på en beskrivende måde med tanke på den samling grænseflader de indeholder, også helt med små bogstaver. I særdeleshed er det ikke godt at benævne en IDL-fil som klassen selv, eftersom .mcopclass-handleren og typeinfoposterne så vil kollidere.