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兩個字符串操作。
可以通過下面代碼高效地實現這個功能:
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
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP Engagement Center的一段代码审查记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新购房贷款利率2022,各行房贷利率一
- 下一篇: AMD Ryzen 7 7800X3D