作出贡献

Revision as of 11:00, 4 November 2012 by FuzzyBot (Talk | contribs)

Jump to: navigation, search
Other languages:Greek 34% • ‎English 100% • ‎Spanish 40% • ‎Finnish 72% • ‎French 79% • ‎Galician 100% • ‎Japanese 56% • ‎Korean 51% • ‎Dutch 98% • ‎Polish 95% • ‎Brazilian Portuguese 95% • ‎Slovak 13% • ‎Chinese (China) 96%

此页面简要介绍 KDE 开发的不同方面,特别是编程相关的问题,KDE 项目欢迎所有愿意提供帮助的人加入。

noframe
 
Note
加入KDE开发有许多种方式,分类汇总如下:
文档、翻译、开发、可用性、访问辅助、艺术作品、推广
不会编程?请访问KDE页面 如何参与 获得其它贡献方式。参见: Bugsquad!

Contents

新闻和邮件来源

KDE项目的大方向是由实际工作者决定的 - KDE将变成什么样并没有一个统一的计划。

如果想了解当前发生的事,有许多信息来源:

邮件列表
可能是了解 KDE 开发进展的最好方式,归档位于 这里
CommitFilter
获 KDE 中感兴趣领域的代码提交通知。
KDE 提交摘要
每周 KDE 项目源代码提交的摘要。
The Dot
KDE 新闻站点。

报告错误

最简单的贡献方式是使用KDE Bug 管理系统 (Bugzilla)报告使用KDE时遇到的问题

如果正在使用的应用程序崩溃,那么工具Dr Konqi将出现,并引导您报告遇到的崩溃。更多内容,请阅读如何提交有用的崩溃报告

开始编程

开始为 KDE 编程只需要找到一个需要修复地方,并改好它。您可能需要查看模块的概述,以找到需要的信息;修复了问题后,需要发送一个补丁。这样做了几次之后,可以申请 KDE 贡献帐户,之后就可以直接提交代码。

C++

KDE大部分是用C++写成的。如果你不熟悉C++,你至少需要对它进行一些学习。有一些很好的关于C++的书,其中一本非常出色的教程叫做 Bruce Eckel的 "Thinking in C++",你可以自由而免费地下载它,同样你也能将其打印成书面文档。在参与KDE之前,你不需要对它的所有东西都有个透彻的理解,但你至少需要懂得基本的语法和操作。

Qt

要想精通KDE编程,你应当对Qt toolkit有较好的理解。如果不熟悉Qt,应当学习Qt 参考文件中的相关指南。

如果你需要一个更有魅力的Qt介绍,或者希望了解一个不同角度的观点,那么你可能愿意阅读这份独立Qt教程(当因为图书版权需要离线阅读)。

如果您偏好阅读传统书籍来学习 Qt,可以看看Qt 相关的书籍。更多熟悉 Qt4 的建议可参考如何学习 Qt

KDE

一系列关于KDE技术的信息可以在指南中查阅。注意,这些指南中的一部分仍然是针对KDE3的,所以它们只能被部分地应用。

FAQs中也能找到关于KDE编程的有用信息。这些信息对KDE4来说可能同样是有点过时了,然而其中的许多内容仍然适用,甚至适用是在KDE之外。

你同样可以阅读KDE编码书籍

最后,KDE同时发布了大量的类(API)文档,可以从KDE API 参考手册访问。参考手册中还包含许多编写与更新类文档的有用链接。这些文档可以在本机自动生成或访问即时更新的API 参考.

一个关于以上步骤的更详细的描述请参看编程指导

上下文帮助:这是什么

上下文帮助是与对话框和控件密不可分的,因为它们是上下文帮助的目标。实际上要编写上下文帮助,需要修改程序和编程工具。上下文帮助是控件的一个属性。在面向对象的编程中,属性可以有多个值并根据不同的属性值表现出不同的行为。在 Qt/KDE 编程中,使用的属性是 "whatsthis",数值是要显示的上下文帮助内容。

Fortunately, this task is usually not very difficult, as there are good tools to deal with user interface design, and better, you will use the knowledge acquired here later when dealing with user interface in general. Using the Qt framework (Qt is the base of KDE technology), it is possible to separate code and user interface. You have two basic cases here: the user interface is written with the general code of application (usually .cpp files) or in Qt Designer files (.ui files: it is a XML document). The second case is the best to start with, as it is simpler to work with. If you don't have Qt Designer installed, you can do so by installing the devel package of Qt from your distribution or the Qt Designer package (if your distribution has more fine grained packages).

Here you can find a detailed guide for writing whatsthis using Qt Designer and working directly with the source code: WhatsThis Tutorial, by Aaron J. Seigo.

参与除错和质量保障

KDE中包含许多应用程序,但并非每个程序都有一个维护者专门管理漏洞和从总体上帮忙将相互关联且可用的代码转换为精致的程序。

如果你有兴趣帮助KDE解决问题,但又不知从何处着手,成为一个KDE质保小组(the KDE Quality Team)的一员可能正是你所期望的——更多信息请查看质保小组的网站。注意,你不需要任何编程技能就可以参与进来。特别是 developers regularly 推动一个简单任务项目以鼓励新的贡献。

当然,你能在不成为KDE质保小组成员的情况下参与除错——只需要在KDE 漏洞跟踪系统上创建一个你自己的账户,并且开始搜索/整理这些漏洞。再次强调,你并不必须拥有编程技能——那只是帮助程序员用一贯的手法在程序中复制漏洞而已。

Bug巡查人员尝试跟踪KDE软件中的漏洞,并且确保被确认的漏洞被开发者们注意到。在Bugsquad中你不需要任何的编程知识;事实上,如果你不会编程,这是一种回馈某些东西给KDE社群的良好方法。

用户界面

User interface is a very wide subject, and very subjective too, as something obvious to someone is absurd to others and vice versa. Therefore, don't assume, argue clearly, stating your logical steps. Your main tool discussing it are objective reasoning and good sense.

It is easy to perform a quick user interface analysis, but it is hard to convince people to change the interface. A good, convincing analysis can gain much if it incorporates information from the KDE guidelines, competing program and operational system analysis, general design principles found in many books, user testing or individual (anecdotal) feedback. It is a volunteer project, and even if everybody agree with you, someone has to implement it.

The KDE Usability Mailing List is very active and a good place for discussing your ideas, and their homepage is at http://techbase.kde.org/Projects/Usability. If you are already an usability expert, please check OpenUsability.org, a project that brings open source developers and usability experts together, and is collaborating closely with KDE.

Some documents guiding documents include the KDE User Interface Guidelines (design standards) and KDE User Interface Guidelines (design principles).

Some projects for analysis of user interfaces may include: checking that shortcut keys are coherent across KDE applications, making sure that dialogs are directly relevant to the interaction that the user would expect, and finding users of KDE software to see how they perform common workflows.

得到问题的答案

If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:

  • Read the Developer FAQ. Many common developer questions have been answered in the KDE Developer FAQ
  • Search/browse KDE websites. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the KDE TechBase website. And if possible, help edit it for clarity, and use the talk page if something is unclear.
  • Search mailing lists. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at lists.kde.org. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.
  • Search engines. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also search the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.

A full list of KDE mailing lists is available here and here.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal