Archive:Development/Software Engineering Framework (zh CN): Difference between revisions

From KDE TechBase
mNo edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Software_Engineering_Framework}}
 


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


== 开发工具 ==
== 开发工具 ==
{{SEFBox
{{SEFBox_(zh_CN)
| name=代码控制
| name=代码控制
| currentState=
| currentState=
* [http://websvn.kde.org/ Subversion 1.4]
* [http://websvn.kde.org/ Subversion 1.4]
| people=
| people=
The kde sysadmin team:
KDE系统管理队伍:
* [http://wire.dattitu.de/authors/2-Dirk Dirk Müller]
* [http://wire.dattitu.de/authors/2-Dirk Dirk Müller]
* [http://www.kdab.net/~dfaure/ David Faure]
* [http://www.kdab.net/~dfaure/ David Faure]
Line 24: Line 24:
}}
}}


Subversion 1.4 is currently used for source control management in KDE on
Subversion 1.4是目前用于KDE的源代码管理系统,服务器位于法兰克福。另一个只读镜像位于anonsvn.kde.org。
a server hosted in Frankfurt. A separate server is used for access to
the read-only mirror anonsvn.kde.org.


There is interest in migrating to a distributed source control
移植到一个分布式的源代码管理系统已经提上议事日程,考虑GIT。关于这件事的讨论详见
management tool, such as GIT. Discussion of this is taking place on the
{{KDEML|kde-scm-interest}}邮件列表。 GIT可能会和其他工具,诸如REPO一起使用。
{{KDEML|kde-scm-interest}}
mailing list. It is likely git will be used along with a tool such as repo.




 
{{SEFBox_(zh_CN)
{{SEFBox
| name=联编系统
| name=联编系统
| currentState=
| currentState=
* [http://www.cmake.org/ CMake 2.6.0]
* [http://www.cmake.org/ CMake 2.6.0]
* [http://api.kde.org/cmake/modules.html Custom CMake module documentation]
* [http://api.kde.org/cmake/modules.html 定制CMake模块文档]
| getInvolved=
| getInvolved=
* {{KDEML|kde-buildsystem}}
* {{KDEML|kde-buildsystem}}
Line 46: Line 41:
}}
}}


CMake is the build tool currently used by KDE. It is Free Software
CMake是目前KDE使用的构建工具。他是由[http://www.kitware.com/ kitware inc]开发的自由软件,可用于多个KDE平台。
developed by [http://www.kitware.com/ kitware inc] and available on
multiple platforms supported by KDE.


This tool was chosen as the buildsystem for the KDE4 series, and there
该工具被用于KDE4系列的联编,目前还没有替换的计划。CMake 2.6.2版本就是用来联编KDE 4.2的。
are no plans currently to migrate away from it. CMake version 2.6.2 will be required to build KDE 4.2 final.




{{SEFBox
{{SEFBox_(zh_CN)
| name=Identifier search
| name=搜寻
| currentState=
| currentState=
http://lxr.kde.org
http://lxr.kde.org
| people=
| people=
The kde sysadmin team:
KDE系统管理团队:
* [http://wire.dattitu.de/authors/2-Dirk Dirk Müller]
* [http://wire.dattitu.de/authors/2-Dirk Dirk Müller]
* [http://www.kdab.net/~dfaure/ David Faure]
* [http://www.kdab.net/~dfaure/ David Faure]
}}
}}


[http://en.wikipedia.org/wiki/LXR_Cross_Referencer 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.
[http://en.wikipedia.org/wiki/LXR_Cross_Referencer LXR]为KDE中的类和方法作出索引。他可以用来方便的找出适合使用一个类,并且找到他在整个程序里是如何被使用的。通常在重构是很有用。


== 审阅 ==
== 审阅 ==
{{SEFBox
{{SEFBox_(zh_CN)
| name=Patch review (pre commit)
| name=审阅补丁(递交前)
| currentState=
| currentState=
* [http://reviewboard.vidsolbach.de/ Review-board] used by plasma project.
* [http://reviewboard.vidsolbach.de/ Review-board]用于Plasma项目。
* trunk/kdereview
* trunk/kdereview
| people=
| people=
* David Solbach and the kde sysadmin team maintain the Plasma review-board installation.
* David Solbach和KDE系统管理组维护Plasma审阅公告栏的安装。
| getInvolved=
| getInvolved=
* {{KDEML|kde-core-devel}}: Discuss KDE patch review and tools
* {{KDEML|kde-core-devel}}: 讨论KDE补丁审阅和工具。
| altTools=
| altTools=
* Launchpad.net offers merge review/approval pre-merge [https://code.launchpad.net/~thumper/pqm/test-bzr-home/+merge/296/] [http://news.launchpad.net/cool-new-stuff/review-branch-merge-proposals-in-launchpad] [http://news.launchpad.net/cool-new-stuff/email-interface-to-code-review]
* Launchpad.net offers merge review/approval pre-merge [https://code.launchpad.net/~thumper/pqm/test-bzr-home/+merge/296/] [http://news.launchpad.net/cool-new-stuff/review-branch-merge-proposals-in-launchpad] [http://news.launchpad.net/cool-new-stuff/email-interface-to-code-review]
}}
}}


In general KDE does not have a formal patch review policy for individual
通常KDE并不对单个补丁提供正规审阅策略。有些补丁在检入SVN之前就有邮件组审阅过了。这通常是针对一个大补丁或有新手开发的补丁。
patches. Some patches do get reviewed prior to committing to svn by the
relevant mailing lists. This is the case for particularly large patches
or patches by new developers.


As an official policy kdereview is used to review new applications and
As an official policy kdereview is used to review new applications and
Line 91: Line 80:
eg,
eg,


* All new classes documented [x]
* 新加内容都有文档记录 [x]
* Private classes and d-pointers used where appropriate [x]
* 私有类和d-指针正确合理使用 [x]
* Passes all krazy checks [ ]
* 通过测试 [ ]
* No obvious security concerns [ ]
* 没有明显安全顾虑 [ ]
* Designed well/maintainable [ ]
* 设计良好、易维护 [ ]
* etc...
* 等等


This was discussed to some extent [http://thread.gmane.org/gmane.comp.kde.devel.core/54213 here], but has not yet been refined into a techbase page.
这些议题在[http://thread.gmane.org/gmane.comp.kde.devel.core/54213 这里]有所讨论,但目前还没有一个定稿。所以没有提现在这里。


{{SEFBox
{{SEFBox_(zh_CN)
| name=递交审阅(递交后)
| name=递交审阅(递交后)
| currentState=
| currentState=
* {{KDEML|kde-commits}} mailing list records all commits to KDE svn.
* {{KDEML|kde-commits}} 邮件组记录所有KDE svn的检入。
* The [http://commit-filter.org commit filter] is used to filter relevant commits based on path of the commit.
* [http://commit-filter.org 检入过滤]用于过滤那些基于检入的相关检入。
* SVN <tt>CCMAIL:</tt> feature used to notify relevant mailing lists or individuals of specific commits.
* SVN <tt>CCMAIL:</tt> feature used to notify relevant mailing lists or individuals of specific commits.
* SVN <tt>BUG:</tt> feature used to close bugs, and also notifies all bug subscribers of the commit.
* SVN <tt>BUG:</tt> feature used to close bugs, and also notifies all bug subscribers of the commit.
Line 111: Line 100:
* {{KDEML|kde-commits}}
* {{KDEML|kde-commits}}
| altTools=
| altTools=
* Unknown
* 未知
}}
}}


The commit filter is used by several projects to forward all commits to the relevant mailing list.
检入过滤用于将相关键入内容发送给相关邮件列表。




{{SEFBox
{{SEFBox_(zh_CN)
| name=设计审阅
| name=设计审阅
| currentState=
| currentState=
Design review takes place on
在此审阅设计方案
* mailing lists
* 邮件列表
* project wikis
* 项目维基
* face-to-face/BOF sessions and sprints
* face-to-face/BOF 会话和精神
* kdereview
* kde审阅
| getInvolved=
| getInvolved=
* {{KDEML|kde-core-devel}} is used to announce new additions to kdereview.
* {{KDEML|kde-core-devel}}用于宣布KDE审阅的新条件。
}}
}}


KDE does not have an offical design review process. Some design review takes place as part of the kdereview process. It may be possible to further formalise this or encourage design documentation.
KDE没有正式的官方设计审阅流程。一些设计审阅就是KDE审阅的一部分。将来也许要把它正规化并要求有一些设计文档。


== 文档 ==
== 文档 ==


{{SEFBox
{{SEFBox_(zh_CN)
| name=技术文档
| name=技术文档
| currentState=
| currentState=
Line 142: Line 131:
* {{KDEML|kde-www}}
* {{KDEML|kde-www}}
| people=
| people=
* [[User:Danimo|Danimo]] is the MediaWiki admin for techbase.kde.org.
* [[User:Danimo|Danimo]] 是techbase.kde.org 的MediaWiki管理员
| futureWork=
| futureWork=
}}
}}


techbase.kde.org is a [http://www.mediawiki.org MediaWiki] powered site used for collaborating on technical tasks such as tutorials, schedules, and project information. wiki.kde.org is a tiki-wiki site with the same function. Both are actively used. It might make sense to merge the two sites.
techbase.kde.org是个[http://www.mediawiki.org 维基(MediaWiki)网站],用于收集技术任务如教程,日程安排和项目信息。wiki.kde.org是个tiki-wiki网站,有类似功能,两个都再用,将来也许会合二为一。




{{SEFBox
{{SEFBox_(zh_CN)
| name=API文档
| name=API文档
| currentState=
| currentState=
* [http://www.stack.nl/~dimitri/doxygen/ Doxygen] is used to generate api documentation from documentation strings in code.
* [http://www.stack.nl/~dimitri/doxygen/ Doxygen]用于将源文件中的文字抽出产生API文档。
| getInvolved=
| getInvolved=
* [[Development/Tutorials/API_Documentation|APIDOX tutorials]] Make KDE API docs better.
* [[Development/Tutorials/API_Documentation|APIDOX教程]] 优化KDE API文档、
| people=
| people=
* [http://www.kdedevelopers.org/blog/1451 Allen Winter] administers api.kde.org.
* [http://www.kdedevelopers.org/blog/1451 Allen Winter]api.kde.org 管理员。
| altTools=
| altTools=
* [http://labs.trolltech.com/blogs/2008/06/20/introducing-doxygen2qthelp-create-qch-files-from-doxygen-finally/ doxygen2qthelp] used by trolltech to create qt documentation.
* [http://labs.trolltech.com/blogs/2008/06/20/introducing-doxygen2qthelp-create-qch-files-from-doxygen-finally/ doxygen2qthelp] trolltech用来创建QT文档。
}}
}}


KDE API documentation is generated nightly and hosted on http://api.kde.org. It is also possible to generate the same documentation locally for use in an IDE for example.
KDE API文档是每日构建并放在http://api.kde.org。它也可以在本地通过IDE来创建。


It is possible to create [http://www.kdedevelopers.org/node/3010 man pages] and [http://thread.gmane.org/gmane.comp.kde.devel.core/55578 qthelp documentation] from kde sources.
可以从KDE源代码创建[http://www.kdedevelopers.org/node/3010 man pages][http://thread.gmane.org/gmane.comp.kde.devel.core/55578 QT帮助文档]




{{SEFBox
{{SEFBox_(zh_CN)
| name=用户手册
| name=用户手册
| currentState=
| currentState=
* http://userbase.kde.org
* http://userbase.kde.org
* [http://i18n.kde.org/docs/doc-primer/check-docs.html meinproc] is used to generate user documentation.
* [http://i18n.kde.org/docs/doc-primer/check-docs.html meinproc] 用于产生用户文档。
* {{KDEML|kde-docbook}} Records all SVN commits with the <tt>GUI</tt> magic word.
* {{KDEML|kde-docbook}} Records all SVN commits with the <tt>GUI</tt> magic word.
| getInvolved=
| getInvolved=
* http://userbase.kde.org Create tutorials and tips.
* http://userbase.kde.org 创建教程和提示.
* {{KDEML|kde-doc-english}} Used to coordinate user documentation.
* {{KDEML|kde-doc-english}} 用于协调用户文档。
* {{KDEML|kde-docbook}} Help update documentation after GUI changes.
* {{KDEML|kde-docbook}} 用于更新图形界面变更后的文档.
}}
}}


User documentation is generated from module doc/ folders and hosted on http://docs.kde.org.
用户文档是从模块文档目录(doc/)创建的,在http://docs.kde.org 可以找到。


meinproc is a KDE tool (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.
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.
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.
Line 186: Line 175:
== 测试和质检 ==
== 测试和质检 ==


{{SEFBox
{{SEFBox_(zh_CN)
| name=缺陷跟踪
| name=缺陷跟踪
| currentState=
| currentState=
Line 192: Line 181:
* KBugBuster
* KBugBuster
| people=
| people=
* [http://mattr.info:8080/blog/?s=bugzilla Matt Rogers] and the KDE sysadmin team maintain the KDE bugzilla installation.
* [http://mattr.info:8080/blog/?s=bugzilla Matt Rogers] 和KDE系统管理元团队维护KDE Bugzilla系统。
| getInvolved=
| getInvolved=
* {{KDEML|kde-core-devel}} Discuss alternative bug trackers for KDE.
* {{KDEML|kde-core-devel}} Discuss alternative bug trackers for KDE.
Line 203: Line 192:
* https://bugs.launchpad.net, [http://www.sourcecode.de/content/leonov-launchpad-desktop-client-first-coming Leonev]
* https://bugs.launchpad.net, [http://www.sourcecode.de/content/leonov-launchpad-desktop-client-first-coming Leonev]
* [http://trac.edgewall.org/ trac]
* [http://trac.edgewall.org/ trac]
* [http://www.redmine.org/ Redmine] - kind of "Trac on Rails"
* [http://www.redmine.org/ Redmine] - 类似"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.
Bug tracking in KDE的缺陷追踪系统现在合并到Bugzilla 3.0。Work was recently merged on a transition to Bugzilla 3.0 from Bugzilla 2.16.  现在人有些清理工作但大部分已经完成了。


Bugzilla can be difficult to use and daunting to newbies.
Bugzilla使用不便而且让新手感到畏惧。




{{SEFBox
{{SEFBox_(zh_CN)
| name=静态代码检查
| name=静态代码检查
| currentState=
| currentState=
* [http://www.englishbreakfastnetwork.org/krazy/ Krazy] hosted at EnglishBreakfastNetwork (EBN).
* [http://www.englishbreakfastnetwork.org/krazy/ Krazy] 在EnglishBreakfastNetwork (EBN).
* [http://www.coverity.com/ Coverity] is used to find possible sources of defects and suggested optimizations. Results are displayed per module as part of [http://ktown.kde.org/~dirk/dashboard/ Dirks Dashboard builds].
* [http://www.coverity.com/ Coverity] is used to find possible sources of defects and suggested optimizations. Results are displayed per module as part of [http://ktown.kde.org/~dirk/dashboard/ Dirks Dashboard 构建].
| people=
| people=
* [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot]
* [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot]
Line 223: Line 212:
}}
}}


Additional checks are always welcome for adding to Krazy. See http://websvn.kde.org/trunk/quality/.
欢迎添加更多Krazy检查。详见http://websvn.kde.org/trunk/quality/.


{{SEFBox
{{SEFBox_(zh_CN)
| name=联编测试
| name=联编测试
| currentState=
| currentState=
Line 240: Line 229:
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.
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
* 苹果OS
* FreeBSD 6 (gcc)
* FreeBSD 6 (gcc)
* FreeBSD 7 (gcc)
* FreeBSD 7 (gcc)
* Solaris (S10, S11) on SPARC and amd64
* Solaris (S10, S11);SPARC和AMD64上




{{SEFBox
{{SEFBox_(zh_CN)
| name=单元测试
| name=单元测试
| currentState=
| currentState=
[[Development/Tutorials/Unittests|Unit tests]] may be written with the QTest framework. Tests can be run with the command '<tt>make test</tt>'.
[[Development/Tutorials/Unittests|单元测试]]可以通过QTest框架创建。可以通过运行'<tt>make test</tt>'命令来运行测试。
| getInvolved=
| getInvolved=
* [[Development/Tutorials/Unittests|Techbase Unit tests tutorial]]
* [[Development/Tutorials/Unittests|Techbase单元测试教程]]
}}
}}


Line 260: Line 249:




{{SEFBox
{{SEFBox_(zh_CN)
| name=质量测试
| name=质量测试
| currentState=
| currentState=
* The early adopter/user community
* 在其adopter/user社区
* [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS]
* [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS]
| people=
| people=
Line 271: Line 260:
}}
}}


 
可以有一些统计数字,诸如千行错误率,缺陷修正率等。
It may be possible to obtain metrics such as bugs per kloc, defect injection rate etc.




{{SEFBox
{{SEFBox_(zh_CN)
| name=Profiling and Optimizations
| name=性能和优化
| currentState=
| currentState=
* {{KDEML|kde-optimize}} mailing list coordinates optimizations in KDE.
* {{KDEML|kde-optimize}} mailing list coordinates optimizations in KDE.
* Krazy and Coverity tools also include some optimization checks.
* Krazy and Coverity tools also include some optimization checks.
* KDE macros for optimization of common algorithms.
* KDE宏用于优化通用算法。
| getInvolved=
| getInvolved=
* {{KDEML|kde-optimize}}
* {{KDEML|kde-optimize}}
Line 286: Line 274:
}}
}}


Tutorials may be provided in the future to help developers optimize their code.
以后会向开发员提供一些教程,让他们能够优化代码。




{{SEFBox
{{SEFBox_(zh_CN)
| name=Accessibility and Usability
| name=Accessibility和可用性
| currentState=
| currentState=
* http://usability.kde.org/
* http://usability.kde.org/
Line 300: Line 288:
| getInvolved=
| getInvolved=
* {{KDEML|kde-usability}}
* {{KDEML|kde-usability}}
* [[Projects/Usability/HIG KDE Human interaction Guidelines]].
* [[Projects/Usability/HIG KDE人机交互指南]].
}}
}}




{{SEFBox
{{SEFBox_(zh_CN)
| name=研究
| name=研究
| currentState=
| currentState=
* http://research.kde.org
* http://research.kde.org
* [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS]
* [http://www.sqo-oss.eu/news/coverage/sqo-oss-project-launched-with-kde SQO-OSS]
* http://nepomuk.kde.org/ Semantic desktop project funded by the EU.
* http://nepomuk.kde.org/ 有欧盟赞助的语义桌面项目。
| people=
| people=
* [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot]
* [http://people.fruitsalad.org/adridg/bobulate/ Adriaan de Groot]
* [http://www.kdedevelopers.org/blog/2904 Sebastian Trueg] leads the kde-nepomuk project.
* [http://www.kdedevelopers.org/blog/2904 Sebastian Trueg]领导kde-nepomuk项目。
| getInvolved=
| getInvolved=
* [http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde Nepomuk KDE mailing list]
* [http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde Nepomuk KDE 邮件列表]
}}
}}


== Marketing and Expectations ==
== 市场和开拓期望 ==


{{SEFBox
{{SEFBox_(zh_CN)
| name=需求收集
| name=需求收集
| currentState=
| currentState=
* Requirements come from user feedback on http://bugs.kde.org and from commercial interests.
* 从用户而来的需求以及商业热点:http://bugs.kde.org
* Developers may do some research into requirements for applications based on User Research Profiles.
* Developers may do some research into requirements for applications based on User Research Profiles.
| getInvolved=
| getInvolved=
* http://bugs.kde.org Fill new wishlist items.
* http://bugs.kde.org 添加新需求。
* {{KDEML|kde-core-devel}} Discuss new ways for kde to gather requirements.
* {{KDEML|kde-core-devel}} 商讨获取需求的新方法。
}}
}}




{{SEFBox
{{SEFBox_(zh_CN)
| name=Promotion
| name=Promotion
| currentState=
| currentState=
* The {{KDEML|kde-promo|KDE marketing team}} manage marketing and promotion from official kde sources.
* The {{KDEML|kde-promo|KDE 市场团队}}管理市场和KDE官方代码的升级。
* http://dot.kde.org is the community forum around promotional announcements.
* http://dot.kde.org 关于升级声明的社区论坛。
* http://www.kde.org/announcements is the official source of promotional announcements regarding KDE.
* http://www.kde.org/announcements 是KDE的官方声明的来源。
* Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www mailing list]
* Design and maintenance of KDE websites is organised on the [https://mail.kde.org/mailman/listinfo/kde-www kde-www邮件列表]
* The [http://ev.kde.org/workinggroups/mwg.php Marketing working group] coordinates several marketing efforts such as promoting planning and branding.
* [http://ev.kde.org/workinggroups/mwg.php 市场团队] 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.
* KDE e.v provides a booth box for conference booths containing posters, leaftlets and other information needed at a conference stand.
| people=
| people=
Line 345: Line 333:
| getInvolved=
| getInvolved=
* {{KDEML|kde-promo}}
* {{KDEML|kde-promo}}
* [http://dot.kde.org/addPostingForm Submit dot articles]
* [http://dot.kde.org/addPostingForm 添加文章]
}}
}}




{{SEFBox
{{SEFBox_(zh_CN)
| name=Community management
| name=社区管理
| currentState=
| currentState=
* The Community Working Group helps with community advice when needed
* The Community Working Group helps with community advice when needed
* [http://www.kde.org/code-of-conduct/ 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://www.kde.org/code-of-conduct/ 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.
* http://community.kde.org. 开发网站。
| people=
| people=
* Anne Willson
* Anne Willson
Line 362: Line 350:
* [http://omat.nl Tom Albers]
* [http://omat.nl Tom Albers]
| getInvolved=
| getInvolved=
* Send an e-mail to community-wg@kde.org
* 给community-wg@kde.org发邮件
}}
}}




{{SEFBox
{{SEFBox_(zh_CN)
| name=沟通管理
| name=沟通管理
| currentState=
| currentState=
Developers communicate with each other through
开发人员可以通过下列方式沟通:
* [http://lists.kde.org/ mailing lists]
* [http://lists.kde.org/ 邮件列表]
* [http://searchirc.com/irc-kde-1 IRC]
* [http://searchirc.com/irc-kde-1 IRC]
* [http://planetkde.org Blogs]
* [http://planetkde.org 博客]
* Conferences
* Conferences
Developers communicate with users though
开发员和用户间的沟通:
* [http://planetkde.org Blogs] to some extent (mainly early adopting users).
* [http://planetkde.org Blogs] to some extent (mainly early adopting users).
* [http://forum.kde.org Forums] to some extent where the developer chooses to.
* [http://forum.kde.org Forums] to some extent where the developer chooses to.
* [http://dot.kde.org News announcements]
* [http://dot.kde.org News announcements]
Users communicate with each other and developers through
用户间和用户开发员间沟通:
* [http://forum.kde.org Forums]
* [http://forum.kde.org 论坛]
* {{KDEML|kde}} mailing list
* {{KDEML|kde}} 邮件列表
* #kde irc channel.
* #kde irc 通道.
| people=
| people=
* [http://c133.org/blog/ Chris Lee] administers planetkde.org
* [http://c133.org/blog/ Chris Lee] 管理planetkde.org
| getInvolved=
| getInvolved=
* Add your blog to planet kde if you contribute to KDE in some way, including development, testing, advocacy, translation, documentation etc.
* Add your blog to planet kde if you contribute to KDE in some way, 包括开发,测试,推广,翻译和文档等等。
}}
}}


== 发布==
== 发布==


{{SEFBox
{{SEFBox_(zh_CN)
| name=发布计划
| name=发布计划
| currentState=
| currentState=
* Maintained at [[Schedules]].
* [[Schedules|计划栏目]]维护。
| people=
| people=
*
*
* [http://cyrilleberger.blogspot.com/ Cyrill Berger] - KOffice release coordinator.
* [http://cyrilleberger.blogspot.com/ Cyrill Berger] - KOffice发行协调官。
* [http://www.kdedevelopers.org/blog/1451 Allen Winter] - KDEPIM release coordinator.
* [http://www.kdedevelopers.org/blog/1451 Allen Winter] - KDEPIM发行协调官。
| getInvolved=
| getInvolved=
* {{KDEML|release-team}}
* {{KDEML|发布团队}}
}}
}}




{{SEFBox
{{SEFBox_(zh_CN)
| name=Feature planning
| name=功能计划
| currentState=
| currentState=
* [[Schedules/KDE4/4.1_Feature_Plan]]
* [[Schedules/KDE4/4.4_Feature_Plan|KDE 4.4 计划]]
* [[Schedules/KDE4/4.2_Feature_Plan]]
| people=
| people=
[https://mail.kde.org/mailman/listinfo/release-team The KDE release team]
[https://mail.kde.org/mailman/listinfo/release-team KDE发行团队]
| altTools=
| altTools=
* Launchpad.net offers a blueprints system.
* Launchpad.net offers a blueprints system.
* [http://wiki.pentaho.com/display/OpenScrum/Home Scrum in Open Source Projects]
* [http://wiki.pentaho.com/display/OpenScrum/Home 开源项目中的Scrum]
| getInvolved=
| getInvolved=
* {{KDEML|kde-core-devel}} - Discuss the KDE approach to feature planning.
* {{KDEML|kde-core-devel}} - 讨论KDE趋势和发展计划。
}}
}}


Currently techbase is used for feature planning but there may be better alternatives.
现在techbase用于讨论未来计划,但也许还有更好的办法。


{{SEFBox
{{SEFBox_(zh_CN)
| name=Downstream packagers and contributions
| name=Downstream包装者和贡献
| currentState=
| currentState=
* Many distributions package KDE3 & KDE4.
* KDE3 & KDE4都由许多发行包。
| getInvolved=
| getInvolved=
* {{KDEML|kde-packagers}} - Private mailing list for packagers. Includes information relating to security releases.
* {{KDEML|kde-packagers}} - Private mailing list for packagers.包括安全性发布的信息。
}}
}}




== Theming and Translations ==
== 主题和翻译==


{{SEFBox
{{SEFBox_(zh_CN)
| name=Artwork
| name=美工
| currentState=
| currentState=
* The {{KDEML|kde-artists|kde-artists team}} creates offical artwork for KDE.
* The {{KDEML|kde-artists|kde-artists team}} 创建KDE官方作品。
* kde-look.org for non-offical artwork.
* kde-look.org for non-offical artwork.
| people=
| people=
Line 441: Line 428:
}}
}}


Additional contributed artwork is available on http://kde-look.org.
其他美工事宜见 http://kde-look.org.


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


{{SEFBox
{{SEFBox_(zh_CN)
| name=翻译
| name=翻译
| currentState=
| currentState=
Line 460: Line 447:


== 法律与支持 ==
== 法律与支持 ==
{{SEFBox
{{SEFBox_(zh_CN)
| name=KDE e.v. - Representative Legal Entity
| name=KDE e.v. - 法律实体的代表
| currentState=
| currentState=
* [http://ev.kde.org KDE e.v] is a registered non-profit organization that represents the KDE Project in legal and financial matters.
* [http://ev.kde.org KDE e.v] 注册非营利机构,在法律和财务上代表KDE项目。
| altTools= N/A
| altTools= 不祥
| getInvolved=
| getInvolved=
* [http://ev.kde.org/getinvolved/ KDE e.v. membership]
* [http://ev.kde.org/getinvolved/ KDE e.v.合作关系]
}}
}}


{{SEFBox
{{SEFBox_(zh_CN)
| name=许可证
| name=许可证
| currentState=
| currentState=
* A [http://ev.kde.org/announcements/2008-08-22-fsfe-welcomes-fla.php 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.
* A [http://ev.kde.org/announcements/2008-08-22-fsfe-welcomes-fla.php 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.
* [[Policies/Licensing_Policy|KDE licencing policy]] allows commercial and non-commercial development and proprietry and non-proprietry development.
* [[Policies/Licensing_Policy|KDE licencing policy]]允许商业/非商业的开发,proprietry and non-proprietry development.
* [[Projects/KDE_Relicensing|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.
* [[Projects/KDE_Relicensing|Projects/KDE_Relicensing]] Effort to relicence KDE code to use version 3 of GNU GPL 和LGPL. This work is unfinished but not still being performed. 许多支持者都联系不上了。
| altTools= N/A
| altTools=
}}
}}


{{SEFBox
{{SEFBox_(zh_CN)
| name=赞助与合作
| name=赞助与合作
| currentState=
| currentState=
* [http://ev.kde.org/supporting-members.php Supporters of KDE] contribute sponsorship money to KDE e.v.
* [http://ev.kde.org/supporting-members.php KDE赞助] c给KDE提供资金等支持。
* http://ev.kde.org/getinvolved/supporting-members.php
* http://ev.kde.org/getinvolved/supporting-members.php
| altTools= N/A
| altTools=
}}
}}

Latest revision as of 12:53, 23 June 2013


此网页的目的是总结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)