关于软件开发效率的思考

    终于有时间可以写点文章,想好好想一些问题了。

    我们做软件开发技术的,其实不怕去学习一项新的技术,或者攻克一个难题。我们最怕的是重复做工作,原先做的东西,却因为什么原因被推翻了,需要重新做,或者做的工作是非常繁琐的工作,太过细节。

    照道理,随着技术的进步,我们做软件的,工作应该越来越轻松才对。毕竟原先有那么多积累,何况技术进步的目的,也是为了能够更加有效率的工作。但是,我们发现该加班的还在加班,而且好像人员要求也越来越高,人手要求也越来越多。问题究竟出在哪里。

    我们看技术的进步,计算机从最初的汇编、到面向过程语言、到面向对象语言到构件技术的采用。从细节分析,这些都是在提高效率。过程语言使的写一行代码,就可以生成一批汇编,并且是程序可读性更强,加强了效率。面向对象语言,通过封装、继承等技术,增强了复用,我们可以更加方便的在原先的基础上进行扩展,而且是软件的分析更加符合现实世界,进一步加强了效率。构件技术让我们可以直接通过快捷的开发工具,所见即所得拖拉的方式,自动生成了大量的代码,并且很多控件,比如一些dataSet控件等,直接和数据库集成,进一步的减轻的开发工作。到此为止,我们看到技术一直在进步,我们的工作也在减轻。

    但由于用户需求的变化,我们项目需要不断的进行改进。因此原先的C/S结构不能快速的响应需求的变化,软件更新太困难。因此我们需要采用B/S结构,从采用B/S结构开始,我们发现工作好像没有像C/S那么简单,原先用VB或者Delphi,拖几个数据库控件就能解决的事情。到了B/S结构下,需要手工写DHTML,手工写JavaScript,手工写后台控制代码以及调用SQL语句。

    我们在这个技术上,做尝试去简化工作,最新的一些技术,都是在做这些层面的简化工作。比如.net,推出的VisualStudio开发工具,可以直接拖拉服务器控件到页面上,包括一些数据库绑定控件。这样开发B/S的工作量就和原先C/S没有太大的区别。一些软件开发平台的技术,也提供了一些封装好的HTML的控件,以减轻前端开发工作。在后台的实现上,目前数据库调用,提供了Hibernate,Ibatis等框架,简化数据层操作的代码,Spring等技术,很好的实现了抽象和实现的分离。

    但我们发现即使采用了这些技术,好像软件变得更加难以驾驭。.net版本不断的升级,每一次升级,造成我们代码也需要跟着升级。Java技术的选择太多,升级太快,而且很容易被淘汰,使基于此的产品也变得不稳定。用户对前端界面的要求太高,我们采用B/S很难去实现C/S中可以轻视实现的效果或者要求。

    感觉上面这些技术,对我们好像效率提高不明显。我们还是需要一个一个页面去调整javascript,去满足用户最终的要求。当新的可替代的技术或者现有技术的新版本出现时,我们也是被迫的去适应,去尝试使用。

    我们要采取一些措施,来解决这些问题。让我们不再疲于跟着技术的升级而被动工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值