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.
238 lines
7.8 KiB
238 lines
7.8 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
|
|
>Contribuir para o &arts;</title>
|
|
|
|
<sect1 id="how-to-help">
|
|
<title
|
|
>Como Pode Ajudar</title>
|
|
|
|
<para
|
|
>O projecto do &arts; poderá usar a ajuda dos programadores para tornar as aplicações multimédia cientes do &arts;, criar aplicações multimédia novas e melhorar as capacidades do &arts;. Contudo, você não terá de ser um programador para contribuir. A ajuda também poderá ser usada para as pessoas dos testes para enviarem relatórios de erros, traduções do texto e da documentação das aplicações para outras línguas, artistas para desenharem imagens (especialmente para os módulos do <application
|
|
>artsbuilder</application
|
|
>), músicos para criarem módulos de amostras do &arts; e escritores para criarem ou validarem a correcção da documentação. </para>
|
|
</sect1>
|
|
|
|
<sect1 id="mailing-lists">
|
|
<title
|
|
>Listas de Correio</title>
|
|
|
|
<para
|
|
>A maioria das discussões de programação do &arts; tomam lugar em duas listas de correio. Este é o lugar para discutir as novas ideias de funcionalidades e de implementação, ou para pedir ajuda para alguns problemas. </para>
|
|
|
|
<para
|
|
>A lista de correio de Multimédia do &kde; é para os assuntos gerais de multimédia do &kde;, e que inclui o &arts;, assim como as aplicações multimédia, como o &noatun; e o &aktion;. Você poder-se-á subscrever na página Web em <ulink url="http://www.kde.org/mailinglists.html"
|
|
> http://www.kde.org/mailinglists.html</ulink
|
|
> ou enviar uma mensagem de e-mail com o assunto igual a <userinput
|
|
>subscribe <replaceable
|
|
>o-seu-endereço-de-e-mail</replaceable
|
|
></userinput
|
|
> para <email
|
|
>kde-multimedia-request@kde.org</email
|
|
>. A lista está também arquivada em <ulink url="http://lists.kde.org"
|
|
> http://lists.kde.org</ulink
|
|
>. </para>
|
|
|
|
<para
|
|
>A lista de correio do &arts; é para os assuntos específicos do &arts;, incluindo a utilização fora do &kde; do &arts;. Para se subscrever, envie uma mensagem de e-mail que contenha o corpo da mensagem <userinput
|
|
>subscribe <replaceable
|
|
>o-seu-endereço-de-e-mail</replaceable
|
|
></userinput
|
|
> para <email
|
|
>arts-request@space.twc.de</email
|
|
>. A lista é arquivada em <ulink url="http://space.twc.de/~stefan/arts-archive"
|
|
> http://space.twc.de/~stefan/arts-archive</ulink
|
|
>. </para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="coding-standards">
|
|
<title
|
|
>Normas de Código</title>
|
|
|
|
<para
|
|
>Para obter uma leitura consistente de todo o código, é importante manter o estilo de código igual entre si em todo o código do &arts;. Por favor, mesmo que você só crie um módulo, tente escrever/formatar o seu código de acordo com as recomendações, para que facilite para as várias pessoas manterem a estrutura de código e para ser mais fácil de copiar pedaços de código de um bloco para outro. </para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
>Nome das funções-membro</term>
|
|
<listitem>
|
|
<para
|
|
>Estilo do &Qt;/&Java;. Isso equivale à capitalização nas quebras de palavras, tendo a primeira letra em minúsculas; sem sublinhados. </para>
|
|
<para
|
|
>Isto significa, por exemplo:</para>
|
|
|
|
<programlisting
|
|
>criarDescrEstrutura()
|
|
actualizarItem();
|
|
iniciar(); </programlisting>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Membros da classe</term>
|
|
<listitem>
|
|
<para
|
|
>Os membros da classe não são capitalizados, como por exemplo 'barramenu' ou 'botao'. </para>
|
|
|
|
<para
|
|
>Quando existirem funções de acesso, a norma deverá ser a do &MCOP;, isto é, ao ter um membro 'long' <function
|
|
>xpto</function
|
|
>, o qual não será visível directamente, você cria funções: </para>
|
|
|
|
<programlisting
|
|
>xpto(long novo_valor);
|
|
long xpto(); </programlisting>
|
|
|
|
<para
|
|
>para obter e alterar o valor. Nesse caso, o valor real de <function
|
|
>xpto</function
|
|
> serão armazenadas em <returnvalue
|
|
>_xpto</returnvalue
|
|
>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Nomes das classes</term>
|
|
<listitem>
|
|
<para
|
|
>Todas as classes deverão ser capitalizadas nas palavras, o que significa <classname
|
|
>JanelaModulo</classname
|
|
>, <classname
|
|
>ModuloSintese</classname
|
|
>. Todas as classes que pertencem às bibliotecas deverão usar o espaço de nomes do &arts;, como o <classname
|
|
>Arts::Soundserver</classname
|
|
>. </para>
|
|
<para
|
|
>As implementações das classes do &MCOP; dever-se-ão chamar <classname
|
|
>Classe_impl</classname
|
|
>, como por exemplo <classname
|
|
>ServidorSom_impl</classname
|
|
>. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Parâmetros</term>
|
|
<listitem>
|
|
<para
|
|
>Os parâmetros nunca estão capitalizados. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Variáveis locais</term>
|
|
<listitem>
|
|
<para
|
|
>As variáveis locais nunca são capitalizadas, e poderão ter nomes do tipo <varname
|
|
>i</varname
|
|
>, <varname
|
|
>p</varname
|
|
>, <varname
|
|
>x</varname
|
|
>, &etc;, sempre que apropriado. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Tamanho da tabulação</term>
|
|
<listitem>
|
|
<para
|
|
>Uma tabulação equivale neste caso a 4 espaços. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Espaços nas expressões</term>
|
|
<listitem>
|
|
<para
|
|
>Você não precisa normalmente de usar espaços nas expressões. Você poderá, no entanto, usá-los entre os operadores e os seus operandos. Todavia, se você puser um espaço antes de um operador (p.ex., o +), você também precisa de pôr um a seguir ao mesmo. A única excepção a isto são as expressões do tipo lista (com o ,), onde você deverá pôr um espaço a seguir ao ",", mas não antes. Também é aceitável omitir aqui o espaço. </para>
|
|
<para
|
|
>Os exemplos seguintes demonstram uma boa utilização dos espaços: </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<3)
|
|
c--;
|
|
|
|
arts_debug("%d\n", c);
|
|
}
|
|
</programlisting>
|
|
<para
|
|
>Os exemplos seguintes demonstram como <emphasis
|
|
>não</emphasis
|
|
> usar os espaços. Para as chamadas as funções, a seguir ao 'if', 'while', 'for', 'switch', entre outros, não é adicionado nenhum espaço. </para>
|
|
<programlisting
|
|
>{
|
|
// MAL: se você indicar uma lista, ponha espaços apenas após o ","
|
|
int a , b , c , d , e , f;
|
|
|
|
// MAL: utilização não-simétrica dos espaços no operador '='
|
|
a= 5;
|
|
|
|
// MAL: se for considerada uma função, e se não for seguida de um espaço
|
|
if (a == 5) {
|
|
}
|
|
|
|
// MAL: não colocar um espaço a seguir ao 'while'
|
|
while (a--)
|
|
b++;
|
|
|
|
// MAL: os nomes das funções não são seguidos de um espaço
|
|
arts_debug ("%d\n", c);
|
|
|
|
// MAL: nada aqui é o nome de um membro
|
|
Arts::Object o = Arts::Object::null ();
|
|
}
|
|
</programlisting>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry>
|
|
<term
|
|
>Nomenclatura dos ficheiros de código</term>
|
|
<listitem>
|
|
<para
|
|
>Os ficheiros de código aqui não deverão ter capitalizações no nome. Deverão ter o nome da classe quando implementam uma única classe. A sua extensão é a <literal role="extension"
|
|
>.cc</literal
|
|
> se se referirem ao código independente do &Qt;/&GUI;, e <literal role="extension"
|
|
>.cpp</literal
|
|
> se se referirem ao código dependente do &Qt;/&GUI;. Os ficheiros de implementação das interfaces dever-se-á chamar <filename
|
|
><replaceable
|
|
>xpto</replaceable
|
|
>_impl</filename
|
|
>, se o Xpto for o nome da interface. </para>
|
|
|
|
<para
|
|
>Os ficheiros &IDL; deverão ser chamados de uma forma descritiva para a colecção de interfaces que eles contêm, estando tudo também em minúsculas. Especialmente, não é bom chamar a um ficheiro &IDL; o nome da classe, dado que o mediador .mcopclass e os itens do tipo de informação irão colidir, nesse caso. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect1>
|
|
|
|
</chapter>
|