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

版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog.csdn.net/article/details/86766855

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: " + temp[1] + " value: " + temp[2]); } }; anotherTry(test); 输出:

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

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

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

5. getLogoIcon改成getLogoIconURL更好些。

8. 这种在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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券