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


-4:充分利用win界面:现阶段,很多的资源、联系方式,都通过win界面来进行,开发者也可以利用这些资源 。通过ssh登陆,CVS提交,可以轻松的解决编码、编译、协作的问题,而不必处于一个不断变化的系统中;
-5:现阶段的反馈渠道经常变化,例如:电子信箱、论坛、IRC,聊天工具,开发者需要提供稳定而多样的反馈方式,否则导致反馈渠道不畅 。
-6:进行开发,一定要拥有充足的时间面对屏幕,才能实现稳定的设计 。一天耗费5-10个小时左右似乎比较普遍 。
D、开发的一些技巧
1、宏功能和微功能( Macro Function and Micro Function )
在很多的情况下,我们的设计是基于宏功能的,而计算机的提供是微功能的,我们需要利用LIB的方式,将微功能组 。合起来,实现宏功能,将宏功能组合起来,则形成我们所需要的软件 。
2、多进程并发操作
操作缓冲是非常重要的,可以显著的提高效率,可能需要设计几个缓冲层(越多越复杂);对于高负载的进程并发操作,我们可能需要利用汇编来保证原子级操作,并且具有最好的速度 。
3、分布式负载
算法非常重要
4、过于复杂的系统
对于庞大的系统,分割成为清晰、简单的层次结构非常重要 。此时,简单似乎占据上风(这是我们愿意看到的:) ) 。使用分层(layer)的方式,是最好的解决方案 。甚至系统的成败取决于分层设计是否正确 。
5、关于开发语言的选择
当然是C——允许有不同的观点 。
以下仅仅是一些仅供参考的观点:
1、C是不推荐的,主要是基于内存使用和运行的考虑;
2、对于CGI来说,使用C也是最好的选择 。(也许不同的意见更多) 。
6、程序设计,需要支持配置脚本
这样程序运行时,适用范围更广 。
6.1拥有一个脚本库直接获得配置脚本的支持 。
6.2如果是GUI界面,则需要对于这个脚本配置的工具程序
7、失落的档案:这是一个提醒
这是一个程序员常犯的错误 。立刻准备一套光盘刻录设备,经常备份自己的成果(一次备份2张光碟,并且做好标记) 。否则,xxMB的数据不见了,可来不及的 。
8、无论如何,立刻标记上软件版本号,从0.0.1v开始
使用0.0.1v开始开发的程序具有一个有趣的特性,可能在你不知不觉中发展到0.7v,甚至v1.x,这是一个令人兴奋的过程,也许,这就是开发的乐趣所在 。
9、编程与程序设计的矛盾如何解决?
一般来说,我们都在不改变软件宏功能的情况下,让我们的程序结构更好、更清晰、容易编写 。这些细节的编程设计,常常拥有很多的设计方案,我们需要进行编程实践,让各式各样的设计,在程序代码中获得统一 。
E、系统开发的知识准备:
首先大致描述一下,细节待续
1、熟悉FREEBSD的系统数据结构 。包括系统数据结构和网络相关的数据结构 。
1.1 进程相关
1.2 I/O相关
1.3 Net相关
1.4 编程语言相关:编译器、语言库
2、调整MAKE参数,支持相关的函数库,并且打开调试选项,可以更好的支持调试,并且简单通过make可以编译程序
3、参照系统设计,建立与系统进行I/O的LIB 。
4、完善程序以构件模块为主,实现程序的更多扩展功能 。
5、编译系统的选择:
5.1 对于大多数的项目,编译器系统几乎是任意的,但是选择一个稳定的编译器,对于项目也是非常重要的;
5.2 相信对于编译器、调试器的熟悉,也是一个成功项目的基础 。
6、项目中间测试:
5.1 寻找典型的测试环境 。这是非常重要的 。在系统设计中,就需要这样的准备工作,并且保持这个测试环境的稳定,才能获得第一手的数据;

推荐阅读