Archive:Development/Software Engineering Framework (zh CN)

From KDE TechBase


此网页的目的是总结KDE项目在软件工程方面所使用的工具和程序;覆盖所有编码工作。这包括错误修正,审查,测试,文档,需求等等。

目前所使用的KDE的工具集列出了其使用范围,已知的替代品,和优点/缺点。


开发工具

Template:SEFBox (zh CN)

Subversion 1.4是目前用于KDE的源代码管理系统,服务器位于法兰克福。另一个只读镜像位于anonsvn.kde.org。

移植到一个分布式的源代码管理系统已经提上议事日程,考虑GIT。关于这件事的讨论详见 kde-scm-interest邮件列表。 GIT可能会和其他工具,诸如REPO一起使用。


Template:SEFBox (zh CN)

CMake是目前KDE使用的构建工具。他是由kitware inc开发的自由软件,可用于多个KDE平台。

该工具被用于KDE4系列的联编,目前还没有替换的计划。CMake 2.6.2版本就是用来联编KDE 4.2的。


Template:SEFBox (zh CN)

LXR为KDE中的类和方法作出索引。他可以用来方便的找出适合使用一个类,并且找到他在整个程序里是如何被使用的。通常在重构是很有用。

审阅

Template:SEFBox (zh CN)

通常KDE并不对单个补丁提供正规审阅策略。有些补丁在检入SVN之前就有邮件组审阅过了。这通常是针对一个大补丁或有新手开发的补丁。

As an official policy kdereview is used to review new applications and new classes for kdelibs prior to inclusion in KDE trunk. A drawback of this system is that not all reviewers report that they have reviewed the new content. It may make sense to have a checklist for reviewers to use, eg,

  • 新加内容都有文档记录 [x]
  • 私有类和d-指针正确合理使用 [x]
  • 通过测试 [ ]
  • 没有明显安全顾虑 [ ]
  • 设计良好、易维护 [ ]
  • 等等

这些议题在这里有所讨论,但目前还没有一个定稿。所以没有提现在这里。

Template:SEFBox (zh CN)

检入过滤用于将相关键入内容发送给相关邮件列表。


Template:SEFBox (zh CN)

KDE没有正式的官方设计审阅流程。一些设计审阅就是KDE审阅的一部分。将来也许要把它正规化并要求有一些设计文档。

文档

Template:SEFBox (zh CN)

techbase.kde.org是个维基(MediaWiki)网站,用于收集技术任务如教程,日程安排和项目信息。wiki.kde.org是个tiki-wiki网站,有类似功能,两个都再用,将来也许会合二为一。


Template:SEFBox (zh CN)

KDE API文档是每日构建并放在http://api.kde.org。它也可以在本地通过IDE来创建。

可以从KDE源代码创建man pagesQT帮助文档


Template:SEFBox (zh CN)

用户文档是从模块文档目录(doc/)创建的,在http://docs.kde.org 可以找到。

meinproc 是个KDE工具(written by Stephen Kulow which uses libxslt to transform docbook into (bzipped) html. At runtime kio_help opens that bzipped html and displays it to the user in khelpcenter.

http://userbase.kde.org is intended to be the primary source of user documentation on the web. Content will possibly be packaged for offline use in the future.

测试和质检

Template:SEFBox (zh CN)

Bug tracking in KDE的缺陷追踪系统现在合并到Bugzilla 3.0。Work was recently merged on a transition to Bugzilla 3.0 from Bugzilla 2.16. 现在人有些清理工作但大部分已经完成了。

Bugzilla使用不便而且让新手感到畏惧。


Template:SEFBox (zh CN)

欢迎添加更多Krazy检查。详见http://websvn.kde.org/trunk/quality/.

Template:SEFBox (zh CN)

There is interest in more build testing for KDE especially on non-linux platforms. Improvements include some standard ctest scripts that can be used to build and submit a dashboard result for kdelibs to CDash. This would be run on a cronjob for simplicity.

构建计划在下列平台上:

  • 微软视窗
  • 苹果OS
  • FreeBSD 6 (gcc)
  • FreeBSD 7 (gcc)
  • Solaris (S10, S11);SPARC和AMD64上


Template:SEFBox (zh CN)

It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard.


Template:SEFBox (zh CN)

可以有一些统计数字,诸如千行错误率,缺陷修正率等。


Template:SEFBox (zh CN)

以后会向开发员提供一些教程,让他们能够优化代码。


Template:SEFBox (zh CN)


Template:SEFBox (zh CN)

市场和开拓期望

Template:SEFBox (zh CN)


Template:SEFBox (zh CN)


Template:SEFBox (zh CN)


Template:SEFBox (zh CN)

发布

Template:SEFBox (zh CN)


Template:SEFBox (zh CN)

现在techbase用于讨论未来计划,但也许还有更好的办法。

Template:SEFBox (zh CN)


主题和翻译

Template:SEFBox (zh CN)

其他美工事宜见 http://kde-look.org.

There may be a need to create tutorials on how to create artwork for kde.

Template:SEFBox (zh CN)

法律与支持

Template:SEFBox (zh CN)

Template:SEFBox (zh CN)

Template:SEFBox (zh CN)