不要绝对相信插件的正确性

不要绝对相信插件的正确性

2017-1-10

   做开发,很多时候都是引用的各种各样的插件来满足业务的需求,但是往往会在出问题的时候忽视插件本身的错误可能。比如说项目中引入了jQuery,而在运行的时候控制台报错为jQuery内部错误,我们通常的排错思维是:怎么可能是jQuery错了呢,一定是自己写的其他的地方有错误造成了浏览器对jQuery报错。

   确实,很多时候都是在检查自己的代码的时候发现了错误,但是这也就形成了一种对插件的绝对信任问题,每次报告插件错误都是首先排除插件本身的错误,转而去寻找项目代码中的错误。但是,在对一个项目做IE7兼容(对的,是IE7兼容,一个几乎满世界是IE高版本的时候我们还在兼容IE7),控制台告诉我们不识别其中的easySlider对象或者方法,(项目中引用了easyslider轮播插件),依照以往对插件的信任,我们首先排除插件本身的错误,一直在找是不是代码有错误或者是插件版本太低(引入是1.0版本,而当前最新是1.7版本)的问题。结果绕来绕去,真的是费了很大的心思去找为什么IE7下会报错为不识别方法的原因,结果实在是找不到其他原因的情况下,苦逼的我去看了源码,然后我就呵呵了,原因很简单,就是源码编写时候的不规范性,在对象的最后一个方法结束添加了一个逗号,通常我们是不会在对象中的最后一个方法结束添加逗号或者是分号的,但是源码中存在,而且在高版本的IE(ie8+)下显示是识别的,只有IE7下显示为不识别方法,我将源码中的逗号去掉,再次进行测试的时候发现不仅仅是轮播正常了,连带着之前的很多个小小的问题都正常了,我当时内心真的都是崩溃的。能想象一个坐在那里改一个轮播不识别的问题改了两个小时,当前时间为9点的两个小时,本身应当属于改完就ok的,结果一个忽视性的插件本身问题硬是耽搁了两个小时,改完之后我就忽然意识到自己的惯性思维问题的严重性了,绝对性的相信插件的无误性是多么可怕的一件事。插件官网宣称为兼容到IE6+,但是测试的时候IE7出现兼容问题的时候就忽略掉了是不是插件本身内部代码的错误或者是不规范性,之前还真的是没有遇到过着这种事情,一次改正真的是以后都会长记性!

  啰啰嗦嗦,总算是阐述清楚了,不管说怎么样,一个做开发的人绝对性的相信插件代码的正确性都是一件很可怕的事情,这篇文章不为别的,就是为自己做个警醒!!!

posted @ 2017-01-10 10:06  努力努力要努力  阅读(259)  评论(0编辑  收藏  举报