ProjectManager, Project and ProjectFile in Code::Blocks

CB-Project-File IDE的内部实现中,关于项目和文件之间的关系和数据保存主要维护在Project,和ProjectFile这几个类里面。在里面有几个部分:1)View:包括m_pNotebook, m_pTree, m_plugin等;2)Status:包括m_isLoadingProject, m_isclosingProject, m_isCheckingForExternallyModifiedProject等,从字面意义上就可以看出它们的用途;3)Project:包括m_pActiveProject和指针*m_pProjects。这个当前活动的项目m_pActiveProject就是Project类的实例。

Continue reading ProjectManager, Project and ProjectFile in Code::Blocks - 全文阅读

Release Early, Release Often – Open Source Project的开发策略

Author:sourceforge Bryan Wu

公司开发新项目遵从的流程比较繁琐,文档为先并且需要一级一级的评审,等到写代码已经是非常靠后的事情,而且在时间比例上也所占很小。对于开源项目的维护和开发,恰恰需要在需求确定的情况下,立即开始代码的编写以达到尽快实现原型的目的,我想这样做的原因无外乎有以下几点:

1)鼓励自己能持续的花时间在这个项目上:由于开源与公司项目的驱动不同,开源项目的每一次有意义的里程碑都会是刺激开发人员继续参与的动力;

2)鼓励别人加入:松散的组织结构决定了大多数项目都是孤军奋战,让更多的人参与到项目中比如写代码,帮助测试等等都需要在一个原型的基础上;

3)渐进式的学习方式,以便于逐步细化和最终定义清楚这个项目的各个细节,我想很多项目在第一个或者几个版本之后都面临着重构、重写的命运。

Continue reading Release Early, Release Often – Open Source Project的开发策略 - 全文阅读

CB IDE内部结构之-工程文件篇

Author: Bryan of CBForge.com (cbforge at gmail dot com) 转载请保留

关于与projectfile和cbProject的关系稍后会有另一篇文章讲述。

一个最大,并包括多个Project,每个Project下有多个文件,保存关于编译等信息并于project/file都有关联。

通过阅读源代码我们就可以知道他们的维护关系。

C::B keeps projects cbProject in a cbWorkspace. This can have more than one project. This is managed by the . Here a short overview:

Image:Codeblocks.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The words with cursiv font are classes in C::B. The cbProject itself manages different targets ProjectBuildTargets and different files ProjectFiles.

该图来自:

http://wiki.codeblocks.org/index.php?title=A_short_overview_about_Code::Blocks_architecture

Contact us

Admin: Bryan Wu