離本身的上一篇博客仍是有那麼段時間了...忙忙碌碌那麼一段時間,確實須要自我總結一下,這一點不只僅是體如今技術上,並且還有對於溝通、項目推進等等綜合方面的總結。css
這個其實仍是能感受得出來...本身須要提高的地方還有太多太多。曾幾什麼時候還以爲本身彷佛可以獨立完成一些項目,可是最後卻發現原來是本身眼界過低了...對於新技術只是有去了解,可是沒有落地的實踐,對於本身的提高基本爲0。其實一直在慶幸本身的運氣,可以進入一家前端團隊很是nice,能讓自身發展方向很明確的公司,以爲已經像是買彩票中獎了。做爲項目組裏最菜的(沒有之一),發現自身的學習方式並不是那麼有效以後,雖然有所更正,可是更多倒是發現本身的知識仍是積累得太少太少...不少東西都仍是處於一種懵懵懂懂的狀態。其實技術越深刻,就愈來愈發現基礎的重要性,這裏我忽然想起一個很例子:html
1 $scope.isAuthenticatedUser(function (data) { 2 $scope.hideLoading(); 3 $scope.helper = data.user_helper; 4 $scope.userType = data.type; 5 $scope.userId = data.userId; 6 if ($scope.userType !="") { 7 if($scope.userType == 1|| $scope.userType == 2){ 8 $scope.initShare(); 9 } 10 $scope.getUserDetail(function (data) { 11 if (data.activityOn == 0) { 12 $scope.hideLoading(); 13 var date = $scope.initTime(); 14 $scope.$el.html($scope.renderTpl($scope.layoutTpl, { 15 date: date, 16 data: data 17 })); 18 } 19 if (data != null) { 20 var date = $scope.initTime(); 21 $scope.$el.html($scope.renderTpl($scope.layoutTpl, { 22 data: data, 23 date: date 24 })); 25 $scope.setStatistics(3, pageVisitedCount); 26 } 27 }); 28 } else { 29 $scope.$el.html($scope.renderTpl($scope.layoutTpl, { 30 data: null 31 })); 32 $scope.setStatistics(3, pageVisitedCount); 33 } 34 });
從這段代碼中,能夠看到有不少地方都有一個叫$scope的變量,那麼這個變量指向哪呢?我在這個方法的外部作了一個聲明:var $scope = this;其實貼這段代碼的目的也是爲了給本身作個提醒吧,當初就是由於這段代碼中的this存在着幾種不一樣的指向問題,而我須要讓它統一指向window。前端
上述哪些已是我一個月以前寫的東西...我以爲...我須要作一下最完全的自我反思。react
其實關於技術....我以爲都是學習和積累起來的,這篇博文陸陸續續的寫了有快1個月了...都還沒能發佈...中間跟了一個項目。本身又作了一個項目...如今有那麼點空閒時間,仔細想了想,感受...本身仍是有拖延症吧...程序員
技術上缺乏主動性,不少技術棧想去學習,可是項目任務排下來、拖延症忽然犯起來(這個纔是重點)...不少時候都不了了之...再加之存在着一點畏難心理...web
從剛剛結束的項目其實我也發現了這個問題:
ide
這是最近活動的主要的頁面,交互所有完成以後,有一個後續的需求。需求的主要是在數據統計上,因此須要我前端作好埋點工做。可是BI的要求是在滑動每一屏時都要調用接作出統計,因此當時一聽到,我就有點懵逼了...由於這個是套用同事給的一個模板來弄的...看樣子是分了好幾屏,但實際上就是隻有一個頁面啊!第一反應:「不行...無法作,我進入頁面統計一次就好,爲啥每次滑動都要去作出統計?」需求肯定下來了...我以爲毫無開展的可能性,就在心理上對其進行排斥...而沒有主動的去嘗試、去解決問題。在其餘需求完成以後,發現這個東西無法逃避,那只有硬着頭皮去作了...而後也沒有細看代碼,或者好好打打斷點去調試程序,就直接去問給我模板的同事了...同事也很忙啊!點了我一下以後我發現仍是不懂,更是不想作了...而後整我的...就開始累積負能量了...折騰了一下子,發現這個東西無論我會不會,需求就擺在那,不會由於你的我的理解就去隨意變動。同事指點你也只能是指點你而已,具體怎麼去寫、怎麼思考去完成,仍是得看你本身。函數
還有什麼其餘辦法呢?只有耐着性子去研究代碼了...一個斷點一個斷點的打,去調試、去看程序走向、去理解代碼...花了點時間,而後發現其實代碼邏輯沒有那麼難理解...最終控制頁面變化時的代碼其實就一個方法:學習
function animatePage(newPage) { if (newPage < 0) { newPage = 0; } if (newPage > $(".wrap section").length - 1) { newPage = $(".wrap section").length - 1; } curPage = newPage; var newMarginTop = newPage * (-pageHeight); $(".sec").css({ "-webkit-transform": "matrix(1, 0, 0, 1, 0, " + newMarginTop + ")" }); var newTop = -parseInt(curPage * pageHeight * (lineHeight / secHeight)); $(".line").css({ "-webkit-transform": "matrix(1, 0, 0, 1, 0, " + newTop + ")" }); movePrevent = true; setTimeout(function(){ movePrevent=false;}, 300); if (!$(pages[curPage]).hasClass("page-show")) { $(pages[curPage]).addClass("page-show"); } $(pages[curPage - 1]).removeClass("page-show"); $(pages[curPage + 1]).removeClass("page-show"); }
上面的代碼就是控制頁面變化的關鍵,裏面的變量curPage就是當前頁面的下標...我只要根據這個下標,想後臺傳不一樣的參數就能完成需求了啊...徹底不用本身再添加一句代碼...只用在這個方法裏調用預先聲明好的函數就行...this
好了,需求能完成了,可是感受並無那種解決問題以後的成就感...反思了一下...其實這個問題從根本上來講,根本不算是一個難題,只要認證去調試、去閱讀代碼就能夠。
其實這篇文章能夠說不算是一篇博文,更像是一個心路歷程,加之對於自身的反思...本身其實不少時候會質疑本身,我真的是一個程序員麼?我有職業精神麼?我真的幹這一行麼?自我否認過,可是卻不想放棄...職業生涯纔剛剛開始,也許如今的我不夠好,可是人是能夠改變的,我應該相信本身、應該堅持。沒有什麼時一蹴而就的...給本身定下的目標就要去執行,選擇了這條路就要堅持的走下去。2016年就這麼過去了,2017年應該是我職業生涯很重要的轉折點,作好安排,作好計劃。但願爲本身拼出一個不同的將來...感受前面那句話好像太託大了...應該換一句實在一點的目標:改掉本身畏難的毛病、研究並能落地實踐react、掙錢買電腦。精神、技術、物質都有目標了,嗯...努力加油吧!