<para>Помощь разработчикам заключается в адаптации существующих мультимедиа-приложений для работы с &arts;, создании новых приложений и расширении возможностей &arts;. Однако вам совсем необязательно быть разработчиком, чтобы помочь &arts;. Нам нужна помощь в тестировании (и написании отчётов об ошибках), переводе текстов и документации на различные языки, создании дизайна (особенно для модулей <application>artsbuilder</application>), музыканты могут написать примеры для модулей &arts;, а писатели - документацию. </para>
<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>
<para>Чтобы можно было без лишних проблем читать разные исходные файлы, в них нужно использовать один стиль написания кода. Если вы просто пишете модуль, пожалуйста, постарайтесь писать код соответственно (или отформатируйте его), тогда разные люди смогут его дополнять или копировать его части. </para>
<para>Стиль &Qt;/&Java;. То есть каждое новое слово должно начинаться с заглавной буквы, но первое слово начинается со строчной, подчеркивания между словами не используются. </para>
<para>Если необходима функция доступа, лучше всего её писать в соответствии с &MCOP;, т. е. если есть функция-член <function>foo</function> типа long, которая не должна быть всегда видимой, вы пишете: </para>
<para>функции получения и задания какого-либо значения. В этом случае, значение <function>foo</function> должно храниться в <returnvalue>_foo</returnvalue>. </para>
<para>В именах классов все слова должны начинаться с заглавной буквы, например, <classname>ModuleView</classname>, <classname>SynthModule</classname>. Все классы должны принадлежать библиотекам и использовать пространство имён &arts;, к примеру, <classname>Arts::Soundserver</classname>. </para>
<para>Классы &MCOP; должны называться так:<classname>Class_impl</classname>, например, <classname>SoundServer_impl</classname>. </para>
<para>Локальные переменные всегда пишутся строчными буквами и могут называться <varname>i</varname>, <varname>p</varname>, <varname>x</varname> и т. д., если это не делает код трудночитаемым. </para>
<para>Обычно вам не нужно использовать пробелы в выражениях. Хотя вы можете их вставлять между операторами и операндами. Однако, если вы набрали пробел перед оператором (например, +), нужно поставить его и после оператора. Единственное исключение - выражения с ",", в которых пробел нужно ставить после "," или вообще его опустить. </para>
<para>Вот примеры правильного использования пробелов: </para>
<para>А вот пример того, как <emphasis>не нужно</emphasis> ставить пробелы. В вызовах функций, после if, while, for, switch и т. д. пробелы не пишутся. </para>
<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>