今天在开发Android客户端程序的时候,遇到一个让人有点蛋疼的问题。
我使用的公司研发团队提供的开发框架,HTML5技术,在调试一个原生功能的时候,发现一个原来一直没出过问题的地方居然不能正常工作了。
倒腾了很久才发现,框架原来利用了浏览器JavaScript中的navigator对象的userAgent属性来判断当前运行该APP的终端类型(Android、iOS还是其它)。
这个本身没有问题,问题是这一块的框架代码居然对userAgent信息进行了某种形式的自定义规范化,userAgent属性的取值再也不是原来 Webkit内核浏览器返回的那种格式了,我猜测可能是研发的哥们觉得这样进行规范之后更加方便开发。
然而我并没有觉得哪里方便了,今天是6月26号,我查了一下提交记录,13号那天收到QQ群里框架框架审计的通知,我就把要升级的这块js代码复制过来将项目里面的js替换掉,然后提交了,之后因为一直没开发原生代码,所以没发现这个问题。现在想来,除了更新这个js文件,研发的哥们一定还改了客户端的代码,以实现userAgent取值的自定义规范,可是我并没有收到jar包的更新文件啊!!!
今天是周末,不想去跟那哥们扯这玩意儿,于是我把这个js文件做了版本回退,原生功能又可以正常调用了。
不想深究,我觉得这块有点过度设计了。
我想要说的是另外一个让我觉得蛋疼的问题,公司的框架升级总会让我们这些一线的项目人员感到无所适从。
框架版本的混乱,或者说框架并没有版本号,一直都是研发的哥们通过讨论组直接跟我们宣布有更新,然后把要更新的文件发到讨论组。想想都觉得有点坑,万一哪天没看到讨论组里面的消息咋办。。。
还有就是研发自己要更新的文件漏了几个咋办。。。
公司的框架其实还好,只是管理上的混乱真心让人对这个东西感到可惜啊。
回头想想,要解决这个问题其实也不难呀,在公司内部网络维护一个更新列表不就行了,每次升级都要要点列明,同时提供详细的增量更新说明(要更新那些文件,要调整哪些配置神马的)。
不知道研发的那帮人怎么想的,%>_<%