用FREEBSD作开发的一些实现方式

Warning:警告:
1. LICENSE: BSD License
1、许可证:BSD许可
2、NOTICE: Under FreeBSD/Linux, this document maybe including unreadable and blank area
2. 注意:本文章使用中文,可能在freebsd/linux下有乱码和空白
背景: Background
做了一段时间的FREEBSD的开发工作,以FREEBSD为开发平台和开发对象都有 。拥有了一些经验和弯路,一并写出,希望大家有所获益 。
主要内容: Main Content
简要介绍FREEBSD系统的一些开发经验和设计实现模式,希望有所反馈 。
如何参与发展本文档? Join us
根据BSD许可证,您可以自由的修改和发布本文档,也欢迎将意见传递给lwen@freebsdchina.org
To-Do List:
1、以几个实际的项目为例,实例说明FREEBSD环境下开发的技术细节和解决方式 。
2、编写本文章的续节:代码分析,编写代码,代码排错的一般过程 。
A、开发环境
1、FREEBSD平台
1.1 FreeBSD 最小安装所有的源码
1.2 安装ports目录环境
1.3 选择sh作为基本的shell,这样符合GNU编码标准
2、准备开发环境
2.1 cvsd;
2.2 apache;
2.3 postgresql;
2.4 autoconf;
2.5 automake;
2.6 eMacs / vi.
3、启动开发环境,设置相应的CLIENT用户
B、开发初始化
第一步:建立开发项目环境
1、建立project目录;
2、建立research目录;用来记录项目进程的问题分析、解决文档
3、建立doc目录;用来记录已经成型的系统设计文本;
4、建立GNU目录;用来存放基本的GNU文件、许可、README;
5、建立src0目录;用来编写最为原始的程序和实现测试程序;
6、建立src1目录;用来存放比较完整的库程序和程序;
7、建立src2目录;用来存放最终的产品程序 。
第二步:实现系统分析
1、推荐选择首先设计开发系统的库文件:MySoftware API,这样开发软件比较容易,并且容易扩展;也容易让第三方开发自己的系统;
2、推荐设计测试程序,这样软件可以通过比较容易的方式进行测试,包括测试环境、测试负载、功能测试(宏测试),程序最好留出测试接口;
3、采用GNU的编码标准,并且建立自己的编码标准,并且尽量进行提高;
第三步:协同开发(同步开发/异步开发)
1、采用local的cvs服务控制自己的开发进程,并且拥有私有记录,便于回溯;
2、利用网络的cvs服务器进行比较完整的程序的版本控制,并且可以协作;
第四步:项目测试
1、测试程序测试、宏测试;
2、测试环境测试;
3、实际环境测试;
4、压力环境测试 。
第五步:项目打包、发布
1、采用*.tar.gz,可以包含源码,让更多的了解和参与;
2、写出可以顺利使用的交互式方式,例如:电子邮件;
3、指出你的项目帮助文档所在的位置 。
C、项目开发模版:
1、分析自己的项目;
2、寻找可以借鉴的开源项目源码;
3、寻找合适的开发工具;
4、充分利用win界面环境;
5、快速反馈的渠道;
6、充足的时间面对屏幕 。
现在进行逐条的解释:
-1:对于项目进行分析,评价可行性和可用性,这样可以坚定信心,并且让项目拥有一个持续扩展的潜力;
-2:借鉴源码,可以让系统一开始就拥有一个比较成熟的结构,特别是可测试性,这个非常关键,往往成为下一阶段开发的灵感源泉和动力;
-3:合适的开发工具:对于开源项目来说,其实拥有非常多的开发工具可以使用(tons of ...),但是,选择是非常关键的,例如:cflow,sourcesight等等,需要开发者进行专业的选择;

推荐阅读