<para>Il progetto &arts; può utilizzare aiuti da parte di programmatori per rendere le applicazioni multimediali esistenti compatibili con &arts;, per scrivere nuove applicazioni multimediali e per aumentare le capacità di &arts;. Comunque, non devi essere per forza uno sviluppatore per contribuire. Possiamo anche utilizzare l'aiuto da parte di collaudatori per segnalare bug, da parte di traduttori per tradurre il testo dell'applicazione e la documentazione in altre lingue, da parte di artisti per il disegno di bitmap (specialmente per i moduli di <application>artsbuilder</application>), da parte di musicisti per creare moduli &arts; di esempio, e da parte di scrittori per la scrittura e la rilettura della documentazione. </para>
<para>La maggior parte delle discussioni sullo sviluppo di &arts; avvengono su due mailing list. Queste sono il posto per discutere nuove caratteristiche e idee di implementazione o per chiedere aiuto sui problemi. </para>
<para>La mailing list &kde; Multimedia è per la discussione generale su &kde; Multimedia, compresi &arts; e le applicazioni multimediali come &noatun; e &aktion;. Puoi iscriverti dalla pagina web a <ulink url="http://www.kde.org/mailinglists.html">http://www.kde.org/mailinglists.html</ulink>, o inviare una e-mail con oggetto <userinput>subscribe <replaceable>tuo indirizzo e-mail</replaceable></userinput> a <email>kde-multimedia-request@kde.org</email>. La lista viene inoltre archiviata a <ulink url="http://lists.kde.org">http://lists.kde.org</ulink>. </para>
<para>La mailing list &arts; riguarda gli argomenti specifici di &arts;, tra cui l'uso di &arts; fuori da &kde;. Per iscriverti, invia una e-mail contenente come corpo del messaggio <userinput>subscribe <replaceable>tuo indirizzo e-mail</replaceable></userinput> a <email>arts-request@space.twc.de</email>. La lista viene archiviata a <ulink url="http://space.twc.de/~stefan/arts-archive">http://space.twc.de/~stefan/arts-archive</ulink>. </para>
<para>Per una lettura consistente tra tutti i sorgenti, è importante mantenere un unico stile di scrittura del codice per tutti i sorgenti di &arts;. Per favore, anche se scrivi solo un modulo, cerca di scrivere/formattare allo stesso modo il tuo codice, dato che questo renderà più semplice la manutenzione dell'albero dei sorgenti a persone diverse, e la copia di pezzi di un sorgente in un altro. </para>
<para>Stile &Qt;/&Java;. Questo significa l'uso delle maiuscole come separazione delle parole e la prima lettera sempre minuscola; nessun underscore (_). </para>
<para>Quando ci sono funzioni di accesso, lo standard dovrebbe essere come &MCOP;, cioè, quando hai un membro lungo <function>foo</function>, che non dovrebbe essere visibile direttamente, crea: </para>
<para>Funzioni che prelevano e impostano i valori. In questo caso, il valore reale di <function>foo</function> dovrebbe essere memorizzato in <returnvalue>_foo</returnvalue>. </para>
<para>Tutte le classi dovrebbero avere la maiuscola ad ogni inizio di parola, il che significa <classname>ModuleView</classname>, <classname>SynthModule</classname>. Tutte le classi che appartengono alle librerie dovrebbero utilizzare il namespace &arts;, come <classname>Arts::Soundserver</classname>. </para>
<para>Le implementazioni delle classi &MCOP; dovrebbero essere chiamate <classname>Class_impl</classname>, come <classname>SoundServer_impl</classname>. </para>
<para>Le variabili locali non hanno mai la maiuscola, e possono avere nomi come <varname>i</varname>, <varname>p</varname>, <varname>x</varname>, &etc; dove appropriato. </para>
<para>Normalmente non hai bisogno di usare spazi nelle espressioni. Comunque puoi usarli tra gli operatori ed i lori operando. Comunque, se metti uno spazio prima di un operatore (ad esempio, +), devi metterne uno anche dopo di esso. L'unica eccezione a questo sono le espressioni simili a liste (con la ,), nelle quali dovresti mettere solo uno spazio dopo la ",", ma non prima. Va bene anche se ometti questi spazi comunque. </para>
<para>I seguenti esempi mostrano l'utilizzo corretto degli spazi: </para>
<para>I seguenti esempi mostrano come gli spazi <emphasis>non</emphasis> vanno utilizzati. Per le chiamate di funzione, dopo if, while, for, switch, e così via, non ci vuole nessuno spazio. </para>
<para>I file sorgente non dovrebbero avere nessuna maiuscola nel nome. Dovrebbero avere il nome della classe quando implementano una singola classe. La loro estensione è <literal role="extension">.cc</literal> se si riferiscono a codice indipendente da &Qt;/&GUI;, e <literal role="extension">.cpp</literal> se si riferiscono a codice dipendente da &Qt;/&GUI;. I file di implementazione per le interfacce dovrebbero essere chiamati <filename><replaceable>foo</replaceable></filename>, se Foo è il nome dell'interfaccia. </para>
<para>I file &IDL; dovrebbero essere chiamati in un modo che descriva la raccolta di interfacce che contengono, sempre tutto in minuscolo. Specialmente non è una buona idea chiamare un file &IDL; come la classe, dato che il trader .mcopclass e le voci di informazione sui tipi colliderebbero, in questo caso. </para>