Talk:软件工程

页面内容不支持其他语言。
维基教科书,自由的教学读本

不太同意文中的几个观点:

  • 自己实现功能。在稍大一点的项目中,做这种事情是非常不好的。一个功能模块中往往涉及很多需要考虑的细节,比如安全性、稳定性等等。一个人往往没有那么多精力来处理这么多的细节,所以还是使用别人做好的模块比较好。因为这些模块的维护者往往会花费很大的精力来完善它们,修正bug等。在sourceforge上,很多这种项目进行了好几年,而依然非常活跃,由此也可以看出来很多细节的维护是很花精力的。所以还是使用现有的、比较成熟的模块比较好,而不要“从轮子造车”。
  • 对界面友好程序的批判。这个怎么说呢?诚然,很多文本界面的软件确实很成熟,也提供了必要的功能,但是,为什么它们会没落呢?很简单,不能顺应时代发展的需要了。很多人用文本界面习惯了的人都比较排斥图形界面,但是图形界面依然如此发展,而不是回归到文本界面,为什么呢?其实这里有一个认识误区,很多人认为图形界面跟文本界面是对立的,事实上,图形界面是文本界面的超集,文本界面能实现的,图形界面一定能实现,并且可以提供丰富得多的其他功能。如果图形界面没有文本界面的程序用起来方便,我们只能说是图形界面的开发者做得不够好,而不是图形界面不能提供更加友好的操作方式。这一点,很容易从信息学的角度加以验证,图形界面提供的信息量要远远大于文本界面。并且,文中对于商业公司开发的批判是很没有逻辑的,又说满足主要需求,又说用户需求满足得最少。而提到商业软件确实会碰到的问题,开源的软件也同样会碰到,开源软件如何解决呢?至少我从文中没有看出来。我认为界面友好是很重要的,它可以很大程度上减少用户学习使用的时间,极大提高工作效率。比如开发Java程序,很多程序员都使用开源的Eclipse和NetBean,其开发效率不是使用VI,Emacs能够比拟的。

没有否认图形界面,并且我也主要是用图形界面,图形界面免去了非专业人员的学习时间。只是提出了一个观点,如果是技术强的人,使用文本界面程序,软件使用的自由度会有极大的提高。更能随心所欲。by tomz

不是提倡自己实现功能,而是说在开发的原型阶段,可以有简单的自己的实现,常常会比调用他人的模块开发速度快的的多,也自由的多。by tomz