bearbaby - 2011-03-21

如果成立开发团队,基本组成和前期工作项目,个人想法,工作量很多!

团队组成:如果人多可以并行,人少只能单步
1,编译器小组:熟悉c++编译器的参数作用和正确写法,makefile的编写主要理解组成的结构和语法,决定引入哪个自动生成makefile的工具,优点和缺点,授权方式。前期只支持g++就可以,后期再去考虑其它的编译器,vc、bcc等,再后期考虑非x86构架的c/c++编译器arm,mips等。

2,ide小组:参考几个开源的ide,明白结构和整体的思路,设计整体的结构图,与编译器小组配合前期搞个原型,原型最基本要实现根据构建选项和我们自己的方案文件可以生成makefile并且能正确编译。前期的ide采用的gui库,使用小组成员熟知的库和第三方ide工具,只是原型后期指定会重写的,采用自己的库。中期需要设计个ide的构架,包括sdk的组成思路,核心插件的实现方法,第三方插件的开发接口,并且和库小组讨论需要哪些ide的事件,主要确定接口具体实现可以延后。后期需要用自己的库重写gui界面,并能轻量化实现和编译好的二进制库文件进行事件的通知和处理,gui界面的可视化设计,组件的配置信息实现方法和类信息、属性信息的读写方案,代码的读写编辑功能。
等待库小组进度,再后期可能会需要重构代码(主要取决于库的设计和ide的设计),ide进行整体测试,包括核心插件,三方插件,用户自定义组件的属性读写正确性。
持续完善插件,代码提示、代码格式化、向导工具、引入一个脚本等。

3,库小组:参考vcl,vcf,wx,qt等库,明白结构组成,前期搞个总体结构和思路。进行原型开发,主要是为了知道是否会遇到技术上的障碍,困难度预估,判断是否在技术上目前的水平无法实现。中期需要和ide小组配合确定需要哪些ide的事件接口,类的属性实现采取哪种技术,需要引入哪些第三方库,注意授权协议和跨平台性,编译器的通用性。后期库的大部分必要功能都要完善,非时间紧迫的功能可以延后,但是做好说明,并预留接口

4,白盒测试小组:需要知道ide和库的组成思路和结构,帮助ide小组和库小组完成白盒测试工作最好能找到问题所在,并提交给问题所出现的小组。

5,用户友好组:包括帮助文档的完善和其它语种的翻译,ide其它语种的翻译,例子的编写,演示程序的编写等,这个小组虽然不是核心的但是对于用户体验和学习成本还是很主要的。