You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-it/docs/tdemultimedia/artsbuilder/helping.docbook

150 lines
7.5 KiB

<!-- <?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
To validate or process this file as a standalone document, uncomment
this prolog. Be sure to comment it out again when you are done -->
<chapter id="contributing">
<title>Contribuire a &arts;</title>
<sect1 id="how-to-help">
<title>Come puoi aiutare</title>
<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>
</sect1>
<sect1 id="mailing-lists">
<title>Mailing List</title>
<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>
</sect1>
<sect1 id="coding-standards">
<title>Standard per il codice</title>
<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>
<variablelist>
<varlistentry>
<term>Nomi per le funzioni membro</term>
<listitem>
<para>Stile &Qt;/&Java;. Questo significa l'uso delle maiuscole come separazione delle parole e la prima lettera sempre minuscola; nessun underscore (_). </para>
<para>Questo significa, per esempio:</para>
<programlisting>createStructureDesc()
updateWidget();
start(); </programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>Classi membro</term>
<listitem>
<para>Le classi membro non hanno mai la maiuscola, come menubar o button. </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>
<programlisting>foo(long new_value);
long foo(); </programlisting>
<para>Funzioni che prelevano e impostano i valori. In questo caso, il valore reale di <function>foo</function> dovrebbe essere memorizzato in <returnvalue>&lowbar;foo</returnvalue>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Nomi delle classi</term>
<listitem>
<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&lowbar;impl</classname>, come <classname>SoundServer&lowbar;impl</classname>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Parametri</term>
<listitem>
<para>I parametri non hanno mai la maiuscola. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Variabili locali</term>
<listitem>
<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>
</listitem>
</varlistentry>
<varlistentry>
<term>Larghezza delle tabulazioni</term>
<listitem>
<para>Una tabulazione è lunga come 4 spazi. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Gli spazi nelle espressioni</term>
<listitem>
<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>
<programlisting>{
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&lt;3)
c--;
arts_debug("%d\n", c);
}
</programlisting>
<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>
<programlisting>{
// SBAGLIATO: se scrivi una lista, usa gli spazi solo dopo la ","
int a , b , c , d , e , f;
// SBAGLIATO: uso asimmetrico degli spazi per l'operatore =
a= 5;
// SBAGLIATO: if è considerato una funzione, e non viene seguito da uno spazio
if (a == 5) {
}
// SBAGLIATO: non usare uno spazio dopo while
while (a--)
b++;
// SBAGLIATO: i nomi delle funzioni non vengono seguiti da uno spazio
arts_debug ("%d\n", c);
// SBAGLIATO: nemmeno i nomi dei membri
Arts::Object o = Arts::Object::null ();
}
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>Nomi dei file sorgente</term>
<listitem>
<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>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>