首页 科技正文

betway体育:浅谈软件开发中的防御式编程

admin 科技 2020-07-12 44 1

  在软件开发中针对用户的输入往往不是我们所期待的那样(不满足前置条件),有时候软件内部往往也会泛起一些我们不易察觉的错误,针对这种情形,一些人持有乐观的态度,而另外一些人则从一个其他的事情中得到了启发:即由防御式驾驶而想到的防御式编程。

  所谓防御式编程,指的就是这样一件事情:即我们假定使用者都是呆子,他们可能在输入时举行林林总总的操作,这来源于防御式驾驶:即假定路上开车的都是疯子,你要提前制订计谋防止他们撞到你或者你撞到他们,因此你必须要保证万无一失,而不是接纳投机取巧的方式。心理学上有一个定律叫做墨菲定律,即任何你以为不会发生的事都有可能发生。

  在软件开发中也正是如此,好比我们想开发一个航班治理系统,在用户举行一定的输入之后就会将所有的航班信息展示到显示屏上。然则事情往往不顺遂人意。用户可能输入并不存在的飞机,发往并不存在的机场,用户也可能和你玩开玩笑,为航班不分配飞机,那样的话所有人就只能干等。诸如此类,这仅仅是一个小小的例子,若是机场信息版出了问题可能还不是什么大偏差,然则如果这个开发机场治理系统的人同时也去开发了银行治理系统,那效果可能就不太乐观了。前些天美国用百万年薪来招聘一些会上古语言的老程序员,由于这些程序设计语言被用作银行治理系统几十年,中心并没有出过什么大问题,因此一直没有举行更新换代和响应的维护,从中我们也可以窥见一个鲁棒性较强的平台是何等主要,这几十年维护省下来的钱可能也能用于更多的用途吧(;》)

  ok,当我们领会到防御式编程的意义之后,我们就需要思量怎样实现防御式编程,详细而言有以下几个方式:

  

  ▪Protecting programs from invalid inputs

  ▪ Assertions

  ▪ Exceptions

   ▪ Specific error handling techniques

   ▪ Barricade

   ▪ Debugging aids

  在这里我并不计划睁开讲述,详细可参考MIT 软件组织课程的课件。我只想说一下内里的Barricade,这个所谓的障碍物模式,实际上是将程序内部与外界隔脱离,我们通过人为的设置防火墙,来规避那些外界可能存在的风险,有点像设计模式中的proxy,通过中介来举行数据处理交流,将风险委托给别人,也不失为一种很好的开发计谋。

,

欧博注册网址

www.chinadsn9.com欢迎进入欧博网址(Allbet Gaming),欧博网址开放会员注册、代理开户、电脑客户端下载、苹果安卓下载等业务。

|
版权声明

本文仅代表作者观点,
不代表本站dafa888的立场。
本文系作者授权发表,未经许可,不得转载。

评论

精彩评论
  • 2020-07-12 00:03:43

    AllbetAPP下载欢迎进入AllbetAPP下载(www.aLLbetgame.us):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。忒好看了点