KDE TechBase
  • Page
  • Discussion
  • Edit
  • History
KDE TechBase is a Wiki - You can help! Please contribute! Questions?
Please ask development related questions in the KDE Community Forum.

Development/Software Engineering Framework (zh TW)

< Development

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

  • 1 開發工具
    • 1.1 原始碼控制
    • 1.2 建構系統
    • 1.3 Identifier search
  • 2 審查
    • 2.1 補丁審查(提交前)
    • 2.2 提交審查(提交後)
    • 2.3 設計審查
  • 3 文件
    • 3.1 技術文件
    • 3.2 API 文件
    • 3.3 使用者文件
  • 4 測試和品質
    • 4.1 Bug 追踪
    • 4.2 靜態程式碼分析
    • 4.3 Build testing
    • 4.4 Unit testing
    • 4.5 品質測試
    • 4.6 分析和最佳化
    • 4.7 易用性和可用性
    • 4.8 研究
  • 5 市場和期望
    • 5.1 需求收集
    • 5.2 推廣
    • 5.3 社群管理
    • 5.4 溝通
  • 6 發布
    • 6.1 發布時間表
    • 6.2 功能計劃
    • 6.3 下游打包者和貢獻
  • 7 佈景主題和翻譯
    • 7.1 美工
    • 7.2 翻譯
  • 8 法律與支援
    • 8.1 KDE e.v. - 代表法律實體
    • 8.2 解決授權問題。
    • 8.3 贊助與合作

[edit] 開發工具

[edit] 原始碼控制

原始碼控制
現況   人員  
  • Subversion 1.4

kde sysadmin 團隊:

  • Dirk Müller
  • David Faure
參與   替代品  
  • kde-scm-interest
  • git, repo
  • bazaar
  • mercurial
  • Gitorious


Subversion 1.4 是 KDE 目前使用的原始碼控制管理系統,伺服器位於法蘭克福。另一個唯讀鏡像位於anonsvn.kde.org。

已有考慮移植到一個分散式原始碼控制管理工具,如 GIT。關於這件事的討論詳見 kde-scm-interest郵件列表。很可能是 git 和其他工具一起使用,諸如repo。

[edit] 建構系統

建構系統
現況   人員  
  • CMake 2.6.0
  • 自定 CMake 模塊文件
  • Alexander Neundorf
參與   替代品  
  • kde-buildsystem

無


CMake 是 KDE 目前使用的構建工具。他是由 kitware inc 開發的自由軟體,可用於 KDE 的多平台支援。

該工具被用於 KDE4 系列的建構系統,目前還沒有替換的計劃。CMake 2.6.2 版就是建構 KDE 4.2 必需的。


[edit] Identifier search

Identifier search
現況   人員  

http://lxr.kde.org

kde sysadmin 團隊:

  • Dirk Müller
  • David Faure
參與   替代品  

無

無


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] 審查

[edit] 補丁審查(提交前)

補丁審查(提交前)
現況   人員  
  • Review-board 用於 Plasma 專案。
  • trunk/kdereview
  • David Solbach 和 kde sysadmin 團隊維護 Plasma review-board 的安裝。
參與   替代品  
  • kde-core-devel:討論 KDE 補丁審查和工具
  • Launchpad.net offers merge review/approval pre-merge [1] [2] [3]


通常 KDE 並不對單個補丁(patch)提供正規審查策略。有些補丁在提交到 SVN 之前就在相關的郵件列表審查過了。這個項目是特別針對一個大補丁或是新開發者的補丁。

作為官方政策 kdereview 用於審查進入 KDE trunk 前的新應用程式和 kdelibs 的新類別。該系統的缺點是並非所有審查報告,他們都審查新的內容。它可能是審查使用的檢查清單,例如:

  • 所有新加類別都有提供文件 [x]
  • 正確合理使用私有類別和 d-pointers [x]
  • 通過所有 Krazy 檢查 [ ]
  • 沒有明顯的安全問題 [ ]
  • 設計良好、易維護 [ ]
  • 等等...

這些議題在這裡有所討論,但尚未精煉成 techbase 頁面。

[edit] 提交審查(提交後)

提交審查(提交後)
現況   人員  
  • kde-commits 郵件列表記錄所有 KDE svn 的提交。
  • 提交過濾器 用於過濾那些基於提交補丁的相關提交。
  • SVN CCMAIL: 用於通知相關的郵件列表或特別的提交。
  • SVN BUG: 用來關閉 bug,並通知所有 bug 提交的訂閱者。
  • SVN CCBUG: 用來通知關閉更新的 bug。移植時常用修復分支之間。還通知 bug 提交的訂閱者。

未知

參與   替代品  
  • kde-commits
  • Unknown


許多專案使用提交過濾器來發送所有提交給相關郵件列表。


[edit] 設計審查

設計審查
現況   人員  

設計審查有

  • 郵件列表
  • 專案 wikis
  • face-to-face/BOF sessions and sprints
  • kdereview

未知

參與   替代品  
  • kde-core-devel 用於宣布新加入 kdereview。

無


KDE 沒有正式的設計審查流程。一些設計審查就是 kdereview 流程的一部分。將來也許要把它正規化或鼓勵有一些設計文件。

[edit] 文件

[edit] 技術文件

技術文件
現況   人員  
  • http://techbase.kde.org
  • http://wiki.kde.org
  • http://wiki.koffice.org
  • Danimo 是 techbase.kde.org 的 MediaWiki 管理員。
參與   替代品  
  • kde-www

無


techbase.kde.org 是個 MediaWiki 網站 ,用於收集技術任務如教學、時間表和專案資訊。wiki.kde.org 是個 tiki-wiki 網站,有類似功能。兩個都還在使用,將來也許會合二為一。

[edit] API 文件

API 文件
現況   人員  
  • Doxygen 用於將程式碼中的文字抽出產生API文件。
  • Allen Winter,api.kde.org管理員。
參與   替代品  
  • APIDOX 教學,改善 KDE API 文件。
  • doxygen2qthelp,trolltech 用來創建 Qt 文件。


KDE API 文件是每日生成並放在 http://api.kde.org 。它也可以使用 IDE 來生成相同的本地文件。

可以從 KDE 原始碼創建 man pages 和qthelp 文件。


[edit] 使用者文件

使用者文件
現況   人員  
  • http://userbase.kde.org
  • meinproc 用於產生使用者文件。
  • kde-docbook 記錄所有GUI magic word 的 SVN 提交。

未知

參與   替代品  
  • http://userbase.kde.org 創建教學和提示。
  • kde-doc-english 用於協調使用者文件。
  • kde-docbook 協助更新 GUI 變更後的文件。

無


使用者文件是從模塊 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] 測試和品質

[edit] Bug 追踪

Bug 追踪
現況   人員  
  • Bugzilla 3.0.x.
  • KBugBuster
  • Matt Rogers and the KDE sysadmin team maintain the KDE bugzilla installation.
參與   替代品  
  • kde-core-devel Discuss alternative bug trackers for KDE.
  • kde-bugs-dist Records all updates on bugs.kde.org.
  • kdelibs-bugs Records all updates to kdelibs bugs.
  • konq-bugs Records all updates to konqueror bugs.
  • kdevelop-bugs Records all updates to kdevelop bugs.
  • amarok-bugs-dist Records all updates to amarok bugs.
  • https://bugs.launchpad.net, Leonev
  • trac
  • Redmine - kind of "Trac on Rails"


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.


[edit] 靜態程式碼分析

靜態程式碼分析
現況   人員  
  • Krazy hosted at EnglishBreakfastNetwork (EBN).
  • Coverity is used to find possible sources of defects and suggested optimizations. Results are displayed per module as part of Dirks Dashboard builds.
  • Adriaan de Groot
  • Allen Winter
參與   替代品  

無


Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/.

[edit] Build testing

Build testing
現況   人員  
  • Continuous build server reports broken builds on linux.
  • CDash build server stores results of non-linux builds for kdelibs.
  • Dirk Mueller maintains the dashboard
  • Bill Hoffman is involved with the kitware CDash service.
  • http://www.cdash.org/mailinglist.html
參與   替代品  
  • kde-core-devel Find out how to submit test build results.

無


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


[edit] Unit testing

Unit testing
現況   人員  

Unit tests may be written with the QTest framework. Tests can be run with the command 'make test'.

未知

參與   替代品  
  • Techbase Unit tests tutorial

無


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


[edit] 品質測試

品質測試
現況   人員  
  • The early adopter/user community
  • SQO-OSS
  • Adriaan de Groot
  • Paul Adams
參與   替代品  

無



It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc.


[edit] 分析和最佳化

分析和最佳化
現況   人員  
  • kde-optimize mailing list coordinates optimizations in KDE.
  • Krazy and Coverity tools also include some optimization checks.
  • KDE macros for optimization of common algorithms.

未知

參與   替代品  
  • kde-optimize
  • Coverity report for KDE libs.

無


Tutorials may be provided in the future to help developers optimize their code.


[edit] 易用性和可用性

易用性和可用性
現況   人員  
  • http://usability.kde.org/
  • http://openusability.org/projects.php
  • Season of usability
  • Celeste Lyn Paul
  • Ellen Reitmayr
參與   替代品  
  • kde-usability
  • Projects/Usability/HIG KDE Human interaction Guidelines.

無



[edit] 研究

研究
現況   人員  
  • http://research.kde.org
  • SQO-OSS
  • http://nepomuk.kde.org/ Semantic desktop project funded by the EU.
  • Adriaan de Groot
  • Sebastian Trueg leads the kde-nepomuk project.
參與   替代品  
  • Nepomuk KDE mailing list

無


[edit] 市場和期望

[edit] 需求收集

需求收集
現況   人員  
  • 需求收集自使用者的反饋在 http://bugs.kde.org 和商業參與。
  • Developers may do some research into requirements for applications based on User Research Profiles.

未知

參與   替代品  
  • http://bugs.kde.org 加入新的願望列表項目。
  • kde-core-devel 討論 kde 獲取需求的新方法。

無



[edit] 推廣

推廣
現況   人員  
  • KDE 行銷團隊管理 KDE 官方來源的行銷和推廣。
  • http://dot.kde.org 是一個關於推廣公告的社群論壇。
  • http://www.kde.org/announcements 是 KDE 推廣公告的官方來源。
  • Design and maintenance of KDE websites is organised on the kde-www mailing list
  • The Marketing working group coordinates several marketing efforts such as promoting planning and branding.
  • KDE e.v provides a booth box for conference booths containing posters, leaftlets and other information needed at a conference stand.
  • Wade Olsen
  • Troy Unrau
  • Jos Poortvliet
參與   替代品  
  • kde-promo
  • 提交 dot 文章

無



[edit] 社群管理

社群管理
現況   人員  
  • The Community Working Group helps with community advice when needed
  • Code of Conduct Based on the Ubuntu Code of Conduct, documents guidelines for acceptable behaviour within the community. Can be summarized as 'Be Excellent to Eachother'.
  • http://community.kde.org. In development website.
  • Anne Willson
  • Juan Carlos Torres
  • Lydia Pintscher
  • Martin Fitzpatrick
  • Tom Albers
參與   替代品  
  • Send an e-mail to community-wg@kde.org

無



[edit] 溝通

溝通
現況   人員  

開發人員之間可以透過下列方式溝通:

  • 郵件列表
  • IRC
  • 部落格
  • 會議

開發人員和使用者間的溝通:

  • 部落格在一定程度上(主要是早期採用的使用者)。
  • 論壇在一定程度上影響開發者的選擇。
  • 新聞公告

使用者之間和開發人員間溝通:

  • 論壇
  • kde 郵件列表
  • #kde irc 頻道。
  • Chris Lee,管理 planetkde.org
參與   替代品  
  • 如果你在某些方面貢獻 KDE ,加入您的部落格到 planet kde。包括開發、測試、宣傳、翻譯、文件等。

無


[edit] 發布

[edit] 發布時間表

發布時間表
現況   人員  
  • 維護在時間表。
  • Cyrill Berger - KOffice 發行協調者。
  • Allen Winter - KDEPIM 發行調者。
參與   替代品  
  • release-team

無



[edit] 功能計劃

功能計劃
現況   人員  
  • KDE 4.4 功能計劃

KDE 發布團隊

參與   替代品  
  • kde-core-devel - 討論 KDE 功能計劃。
  • Launchpad.net 提供的藍圖系統。
  • 開源專案中的 Scrum


目前使用 techbase 討論功能計劃,但也許還有更好的替代品。


[edit] 下游打包者和貢獻

下游打包者和貢獻
現況   人員  
  • KDE3 & KDE4 由許多發行板打包。

未知

參與   替代品  
  • kde-packagers - 打包者的郵件列表。包括安全性發布的資訊。

無



[edit] 佈景主題和翻譯

[edit] 美工

美工
現況   人員  
  • kde-artists team 創建 KDE 的官方美工。
  • kde-look.org 提供非官方美工。
  • Nuno Pinheiro
參與   替代品  
  • kde-artists

無


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.

[edit] 翻譯

翻譯
現況   人員  
  • http://i18n.kde.org/ is used for level of completion of translations in KDE.
  • GNU gettext 在 KDE 用於翻譯。
  • .po files are edited directly in KDE svn to update translations.
  • kde4 為基礎的翻譯程式(Lokalize)在 kdesdk/。
  • Krazy 包括翻譯的完整性檢查、複數檢查。

未知

參與   替代品  
  • kde-i18n-doc

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] 法律與支援

[edit] KDE e.v. - 代表法律實體

KDE e.v. - 代表法律實體
現況   人員  
  • KDE e.v 是一個註冊非營利機構,在法律和財務上代表 KDE 專案。

未知

參與   替代品  
  • KDE e.v. membership

無


[edit] 解決授權問題。

解決授權問題。
現況   人員  
  • A Fiduicary Licence Agreement is available, which will allow KDE developers to optionally assign copyright of their contributions to KDE e.v. This would allow easier relicencing of contributors content in the event that KDE needs to move to another licence. It also allows the e.v. to more easily represent the work in the unlikely event of a court dispute involving KDE code.
  • KDE licencing policy allows commercial and non-commercial development and proprietry and non-proprietry development.
  • Projects/KDE_Relicensing Effort to relicence KDE code to use version 3 of GNU GPL and LGPL. This work is unfinished but not still being performed. Many contributors are no longer contactable.

未知

參與   替代品  

無

無


[edit] 贊助與合作

贊助與合作
現況   人員  
  • KDE 的支持者贊助資金給 KDE e.v.
  • http://ev.kde.org/getinvolved/supporting-members.php

未知

參與   替代品  

無

無


Retrieved from "http://techbase.kde.org/Development/Software_Engineering_Framework_(zh_TW)"

Navigation

  • Home
  • Help
  • Recent changes

Sections

  • Getting started
  • Development
  • Schedules
  • Policies
  • Contribute
  • Projects

Toolbox

  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

Personal tools

  • 38.107.191.95
  • Talk for this IP
  • Log in / create account
  • Login with OpenID
Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal