前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP Engagement Center的一段代码审查记录

SAP Engagement Center的一段代码审查记录

作者头像
Jerry Wang
发布2019-05-31 09:52:50
3540
发布2019-05-31 09:52:50
举报

版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1439492

CEC review 2015-11-3 1. 这段代码的目的是从A=a&B=b&C=c&D=d中解析出key A,B,C,D和value a,b,c,d

虽然只有4行,但是后面两行每行至少包含substring和indexOf两个字符串操作。 可以通过下面代码高效地实现这个功能: var test = “#token=Be&access_token=fff&id_token=ets&expires_in=3600&scope=full”; var anotherTry = function(value) { var reg = /(?:^#|&)(.*?)=(.*?)(?=&|$)/g; var temp; while((temp = reg.exec(value))!= null) { console.log("Key: " + temp1 + " value: " + temp2); } }; anotherTry(test); 输出:

时间点1:UserInfoAPI instance的创建由getFullScopes trigger:

时间点2: 时间点1和时间点2 在两个不同的session里。

每次通过http 请求数据都是通过JSONModel的loadData完成的,既然是No caching,所以可以考虑用一个全局的JSONModel,而不用每次都new一个,因为创建 一个JSONModel是一个expensive的操作,因为其处在prototype chain的leaf node上: BaseObject -> EventProvider -> MessageProcessor -> Model -> ClientModel -> JSONModel

getLogoIcon改成getLogoIconURL更好些。

这种在application 代码里hard code internal id ( 以两个下划线__ )开头是绝对不允许的代码。这里的__xmlview0是UI5 framework生成的,0是框架internal维护 的计数器。line 185就限定死了当前的view - LaunchPadShell 必须是UI5 application lifecycle里第一个被render的view - 这样就太不灵活了。今后如果你们的应用如 果deployment的方式发生了改变,例如是从其他的ui5 view通过点击navigate 过来的,此时counter就是一个大于0的数了。

for line 52, use: logo: sCusLogoIcon || sSapLogoIcon

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年02月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档