summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook')
-rw-r--r--tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook239
1 files changed, 239 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook b/tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook
new file mode 100644
index 00000000000..3b9375b5a73
--- /dev/null
+++ b/tde-i18n-ru/docs/tdemultimedia/artsbuilder/helping.docbook
@@ -0,0 +1,239 @@
+<!-- <?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
+>Сотрудничество с &arts;</title>
+
+<sect1 id="how-to-help">
+<title
+>Как вы можете помочь</title>
+
+<para
+>Помощь разработчикам заключается в адаптации существующих мультимедиа-приложений для работы с &arts;, создании новых приложений и расширении возможностей &arts;. Однако вам совсем необязательно быть разработчиком, чтобы помочь &arts;. Нам нужна помощь в тестировании (и написании отчётов об ошибках), переводе текстов и документации на различные языки, создании дизайна (особенно для модулей <application
+>artsbuilder</application
+>), музыканты могут написать примеры для модулей &arts;, а писатели - документацию. </para>
+</sect1>
+
+<sect1 id="mailing-lists">
+<title
+>Списки рассылок</title>
+
+<para
+>Большинство дискуссий разработчиков &arts; ведутся в двух рассылках. В этой обсуждаются новые функции, делятся мыслями и просят о помощи, если возникли проблемы. </para>
+
+<para
+>Рассылка <quote
+>&kde; Multimedia</quote
+> предназначена для обсуждения общих мультимедиа-приложений для &kde;, в том числе и &arts;, наряду с &noatun; и &aktion;. Вы можете подписаться на нее с сайта <ulink url="http://www.kde.org/mailinglists.html"
+> http://www.kde.org/mailinglists.html</ulink
+> или послать сообщение с темой <userinput
+>subscribe <replaceable
+>ваш-email-адрес</replaceable
+></userinput
+> на <email
+>kde-multimedia-request@kde.org</email
+>. Архив рассылки можно найти по адресу <ulink url="http://lists.kde.org"
+> http://lists.kde.org</ulink
+>. </para>
+
+<para
+>Рассылка для обсуждения вопросов об &arts;, в том числе и об использовании &arts; не в &kde;. Чтобы подписаться, пошлите сообщение с текстом<userinput
+>subscribe <replaceable
+>ваш-email-адрес</replaceable
+></userinput
+> на <email
+>arts-request@space.twc.de</email
+>. Архив рассылки можно найти по адресу <ulink url="http://space.twc.de/~stefan/arts-archive"
+> http://space.twc.de/~stefan/arts-archive</ulink
+>. </para>
+
+</sect1>
+
+<sect1 id="coding-standards">
+<title
+>Стандарты кодирования</title>
+
+<para
+>Чтобы можно было без лишних проблем читать разные исходные файлы, в них нужно использовать один стиль написания кода. Если вы просто пишете модуль, пожалуйста, постарайтесь писать код соответственно (или отформатируйте его), тогда разные люди смогут его дополнять или копировать его части. </para>
+
+<variablelist>
+<varlistentry>
+<term
+>Именование функций-членов</term>
+<listitem>
+<para
+>Стиль &Qt;/&Java;. То есть каждое новое слово должно начинаться с заглавной буквы, но первое слово начинается со строчной, подчеркивания между словами не используются. </para>
+<para
+>Это значит, к примеру:</para>
+
+<programlisting
+>createStructureDesc()
+ updateWidget();
+ start(); </programlisting>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Члены класса</term>
+<listitem>
+<para
+>Имена членов классов пишутся со строчной буквы: menubar, button. </para>
+
+<para
+>Если необходима функция доступа, лучше всего её писать в соответствии с &MCOP;, т. е. если есть функция-член <function
+>foo</function
+> типа long, которая не должна быть всегда видимой, вы пишете: </para>
+
+<programlisting
+>foo(long new_value);
+ long foo(); </programlisting>
+
+<para
+>функции получения и задания какого-либо значения. В этом случае, значение <function
+>foo</function
+> должно храниться в <returnvalue
+>&lowbar;foo</returnvalue
+>. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Имена классов</term>
+<listitem>
+<para
+>В именах классов все слова должны начинаться с заглавной буквы, например, <classname
+>ModuleView</classname
+>, <classname
+>SynthModule</classname
+>. Все классы должны принадлежать библиотекам и использовать пространство имён &arts;, к примеру, <classname
+>Arts::Soundserver</classname
+>. </para>
+<para
+>Классы &MCOP; должны называться так:<classname
+>Class&lowbar;impl</classname
+>, например, <classname
+>SoundServer&lowbar;impl</classname
+>. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Параметры</term>
+<listitem>
+<para
+>Параметры всегда пишутся строчными буквами. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Локальные переменные</term>
+<listitem>
+<para
+>Локальные переменные всегда пишутся строчными буквами и могут называться <varname
+>i</varname
+>, <varname
+>p</varname
+>, <varname
+>x</varname
+> и т. д., если это не делает код трудночитаемым. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Размер табуляции (отступы)</term>
+<listitem>
+<para
+>Один уровень отступа равен 4 пробелам. </para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+>Пробелы в выражениях</term>
+<listitem>
+<para
+>Обычно вам не нужно использовать пробелы в выражениях. Хотя вы можете их вставлять между операторами и операндами. Однако, если вы набрали пробел перед оператором (например, +), нужно поставить его и после оператора. Единственное исключение - выражения с ",", в которых пробел нужно ставить после "," или вообще его опустить. </para>
+<para
+>Вот примеры правильного использования пробелов: </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
+>А вот пример того, как <emphasis
+>не нужно</emphasis
+> ставить пробелы. В вызовах функций, после if, while, for, switch и т. д. пробелы не пишутся. </para>
+<programlisting
+>{
+ // ПЛОХО: в списке пробел ставится только после ","
+ int a , b , c , d , e , f;
+
+ // ПЛОХО: несимметричное использование пробела в операторе =
+ a= 5;
+
+ // ПЛОХО: if считается функцией, пробел не ставится
+ if (a == 5) {
+ }
+
+ // ПЛОХО: не пишите пробел после while
+ while (a--)
+ b++;
+
+ // ПЛОХО: после имён функций не надо ставить пробелы
+ arts_debug ("%d\n", c);
+
+ // ПЛОХО: не являются именами членов
+ Arts::Object o = Arts::Object::null ();
+}
+</programlisting>
+</listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term
+>Имена сходных файлов</term>
+<listitem>
+<para
+>В названиях исходных файлов не должно быть заглавных букв. Они должны называться по имени реализуемого класса, если в них описывается только он один. Если файл содержит код, не зависящий от &Qt;/&GUI;, его расширением должно быть <literal role="extension"
+>.cc</literal
+>, иначе - <literal role="extension"
+>.cpp</literal
+>. Файлы, в которых реализуются интерфейсы, должны называться так: <filename
+><replaceable
+>foo</replaceable
+>_impl</filename
+>, если именем реализуемого интерфейса является Foo. </para>
+
+<para
+>Имена файлов &IDL; должны в достаточной мере описывать содержимое этих файлов и также не должны содержать заглавных букв. Не стоит называть файл по имени класса, так как информация о трейдере и типе в .mcopclass может перемешаться. </para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+
+</chapter>