Please ask development related questions in the KDE Community Forum.
Development/Software Engineering Framework (zh TW)
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenščina | српски | Українська | 简体中文 | 繁體中文
此網頁的目的是總結KDE 專案在軟體工程方面所使用的工具和步驟;換言之,所有程式設計相關的工作。這包括bug修正、審查、測試、文件、需求等等。
KDE 目前使用的工具列出了其使用範圍、已知的替代品、和優缺點。
Contents |
[edit] 開發工具
| 現況 | 人員 |
|
kde sysadmin 團隊: | |
| 參與 | 替代品 |
Subversion 1.4 是 KDE 目前使用的原始碼控制管理系統,伺服器位於法蘭克福。另一個唯讀鏡像位於anonsvn.kde.org。
已有考慮移植到一個分散式原始碼控制管理工具,如 GIT。關於這件事的討論詳見
kde-scm-interest郵件列表。很可能是 git 和其他工具一起使用,諸如repo。
CMake 是 KDE 目前使用的構建工具。他是由 kitware inc 開發的自由軟體,可用於 KDE 的多平台支援。
該工具被用於 KDE4 系列的建構系統,目前還沒有替換的計劃。CMake 2.6.2 版就是建構 KDE 4.2 必需的。
LXR indexes classes and methods used in KDE. This can be useful for finding examples of how to use a class, and finding all uses of a class while refactoring or updating API.
[edit] 審查
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
通常 KDE 並不對單個補丁(patch)提供正規審查策略。有些補丁在提交到 SVN 之前就在相關的郵件列表審查過了。這個項目是特別針對一個大補丁或是新開發者的補丁。
作為官方政策 kdereview 用於審查進入 KDE trunk 前的新應用程式和 kdelibs 的新類別。該系統的缺點是並非所有審查報告,他們都審查新的內容。它可能是審查使用的檢查清單,例如:
- 所有新加類別都有提供文件 [x]
- 正確合理使用私有類別和 d-pointers [x]
- 通過所有 Krazy 檢查 [ ]
- 沒有明顯的安全問題 [ ]
- 設計良好、易維護 [ ]
- 等等...
這些議題在這裡有所討論,但尚未精煉成 techbase 頁面。
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
許多專案使用提交過濾器來發送所有提交給相關郵件列表。
| 現況 | 人員 |
|
設計審查有
|
未知 |
| 參與 | 替代品 |
|
無 |
KDE 沒有正式的設計審查流程。一些設計審查就是 kdereview 流程的一部分。將來也許要把它正規化或鼓勵有一些設計文件。
[edit] 文件
techbase.kde.org 是個 MediaWiki 網站 ,用於收集技術任務如教學、時間表和專案資訊。wiki.kde.org 是個 tiki-wiki 網站,有類似功能。兩個都還在使用,將來也許會合二為一。
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
|
KDE API 文件是每日生成並放在 http://api.kde.org 。它也可以使用 IDE 來生成相同的本地文件。
可以從 KDE 原始碼創建 man pages 和qthelp 文件。
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
無 |
使用者文件是從模塊 doc/ 目錄產生的,在 http://docs.kde.org 上也有。
meinproc 是一個 KDE 工具(Stephen Kulow 所寫,它使用libxslt 轉變 docbook 成(bzip壓縮)html。在運行時 kio_help 打開 bzip 壓縮過的 html 並在 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.
[edit] 測試和品質
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
|
Bug tracking in KDE currently is managed using Bugzilla 3.0. Work was recently merged on a transition to Bugzilla 3.0 from Bugzilla 2.16. There is still cleanup work going on but most features of the previous Bugzilla installation already work.
Bugzilla can be difficult to use and daunting to newbies.
| 現況 | 人員 |
| |
| 參與 | 替代品 |
|
|
無 |
Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/.
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
無 |
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.
Builds are planned for the following platforms:
- Windows
- MacOS
- FreeBSD 6 (gcc)
- FreeBSD 7 (gcc)
- Solaris (S10, S11) on SPARC and amd64
| 現況 | 人員 |
|
Unit tests may be written with the QTest framework. Tests can be run with the command 'make test'. |
未知 |
| 參與 | 替代品 |
|
無 |
It may be possible run run these tests automatically possibly on EBN or on Dirks dashboard.
It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc.
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
無 |
Tutorials may be provided in the future to help developers optimize their code.
| 現況 | 人員 |
| |
| 參與 | 替代品 |
|
無 |
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
無 |
[edit] 市場和期望
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
無 |
| 現況 | 人員 |
| |
| 參與 | 替代品 |
|
無 |
| 現況 | 人員 |
|
|
| 參與 | 替代品 |
|
無 |
| 現況 | 人員 |
|
開發人員之間可以透過下列方式溝通: 開發人員和使用者間的溝通: 使用者之間和開發人員間溝通: |
|
| 參與 | 替代品 |
|
無 |
[edit] 發布
目前使用 techbase 討論功能計劃,但也許還有更好的替代品。
[edit] 佈景主題和翻譯
Additional contributed artwork is available on http://kde-look.org.
There may be a need to create tutorials on how to create artwork for kde.
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
launchpad.net features a web-based tool called rosetta, which allows for easier fly-by translations. This is considered not to be useful as fly-by translators often do not follow guidelines or consistency rules when translating. |
[edit] 法律與支援
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
無 |
無 |
| 現況 | 人員 |
|
未知 |
| 參與 | 替代品 |
|
無 |
無 |
