SAP Engagement Center的一段代码审查记录
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兩個(gè)字符串操作。
可以通過下面代碼高效地實(shí)現(xiàn)這個(gè)功能:
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. 時(shí)間點(diǎn)1:UserInfoAPI instance的創(chuàng)建由getFullScopes trigger:
時(shí)間點(diǎn)2:
時(shí)間點(diǎn)1和時(shí)間點(diǎn)2 在兩個(gè)不同的session里。
4. 每次通過http 請求數(shù)據(jù)都是通過JSONModel的loadData完成的,既然是No caching,所以可以考慮用一個(gè)全局的JSONModel,而不用每次都new一個(gè),因?yàn)閯?chuàng)建 一個(gè)JSONModel是一個(gè)expensive的操作,因?yàn)槠涮幵趐rototype chain的leaf node上:
BaseObject -> EventProvider -> MessageProcessor -> Model -> ClientModel -> JSONModel
5. getLogoIcon改成getLogoIconURL更好些。
8. 這種在application 代碼里hard code internal id ( 以兩個(gè)下劃線__ )開頭是絕對不允許的代碼。這里的__xmlview0是UI5 framework生成的,0是框架internal維護(hù) 的計(jì)數(shù)器。line 185就限定死了當(dāng)前的view - LaunchPadShell 必須是UI5 application lifecycle里第一個(gè)被render的view - 這樣就太不靈活了。今后如果你們的應(yīng)用如 果deployment的方式發(fā)生了改變,例如是從其他的ui5 view通過點(diǎn)擊navigate 過來的,此時(shí)counter就是一個(gè)大于0的數(shù)了。
for line 52, use:
logo: sCusLogoIcon || sSapLogoIcon
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP Engagement Center的一段代码审查记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新购房贷款利率2022,各行房贷利率一
- 下一篇: Fiori My Task App Pe