【工作周报】2019年7月 前端开发工作周报汇总
以下記錄的是今年7月筆者在公司進行web前端工作的每周工作總結,其中隱去了項目的具體名稱、人名、公司名等。
?
?
2019.7.1-2019.7.5
本周工作內容:更新了一些后臺管理系統和經紀商系統的頁面
學習到的內容:本周筆者主要還是通過對上述靜態頁面的開發,鞏固和強化了html和css的相關知識,提高了頁面開發的熟練度。另外,也對vue + element ui的開發模式更加的熟悉。同時本周筆者也開始每天利用一些空閑的時間通過觀看react開發視頻教程來逐步學習React的相關知識,筆者計劃在兩個月后開始使用React寫一套組件庫用以加深對React的學習和理解。然后主要閱讀了《js設計模式與開發實踐》,其中的關于原型和閉包的描述使筆者受益頗深。
不足之處:css代碼開發方面出現了一些冗余的情況,還是可以把一些公共的樣式代碼抽離出來成為一個單獨的文件運用會更好很多。另外是vue組件方面某些較繁雜的頁面可以考慮拆分
下一階段的工作:開始對接管理后臺的相關接口
?
?
?
2019.7.8-2019.7.13
本周工作內容:對接了Fondante后臺管理系統錢包模塊的大部分接口
學習到的內容:本周筆者主要學習到了es6的新語法promise和es7的async和await。雖然在之前一直有閱讀過關于promise的一些寫法和資料,但是總是對其總體印象還是很模糊的,而本周筆者在對接錢包接口時,在實現一些業務邏輯時,由于需要控制多個同步和異步(ajax請求)代碼的執行順序,所以就必須要用到promise寫法或者是async await,這也是因為在fondante中使用的http/ajax請求利用的是axios插件,而通過axios發起的ajax請求本身就是返回promise對象的,然后在其后可以接上resolve函數進行下一步的處理,也就是.then之中執行的方法,而如果ajax請求失敗,也就是promise對象最終變成了rejected狀態之后,應該執行reject函數,一般用.catch這樣的寫法去處理reject之后的邏輯。通過鏈式調用.then方法便可以實現同步般的執行異步、同步混合的語句了。
另外也可以考慮使用async和await這樣的寫法,async和await和es7中的新特性,其本質是封裝generator函數的語法糖,使用async和await會更加優雅,從代碼美觀的角度來說,promise then這樣的寫法還是語句很長的鏈式調用代碼,而async和await的寫法則是徹底將異步執行的代碼用同步的方法書寫了出來。
不足之處:對element中的部分組件及其屬性還不夠熟悉,另外就是es6和es7的新特性學習不夠,除了promise和async外,es6還要許多需要筆者進一步學習的內容。
下一階段的工作:完善管理后臺的錢包對接接口,發現、修復問題
?
?
?
2019.7.15-2019.7.20
本周工作內容:完善了Fondate后臺管理系統錢包模塊的一些接口對接細節,修改了交易記錄和操作日志的分頁邏輯和數據篩選邏輯(前端分頁/篩選 -> 后端分頁/篩選)
學習到的內容:本周筆者鞏固了自己對js中Promise和setTimeout setInterval函數的理解,雖然最終的項目代碼中沒有使用到Promise結合setTimeout進行輪詢的寫法,但是本著試驗的目的最終還是實現了這樣的邏輯:利用setTimeout模擬setInterval的實現會更加穩定,定時向服務端請求獲取相關數據,利用Promise實現異步獲取到相關數據之后再同步執行接下來的邏輯代碼。?https://blog.csdn.net/a715167986/article/details/96434248?另外還新學習到了ES6中的of循環和set map數據結構。在之前筆者一直使用傳統的for循環來實現數組的遍歷,實際上那種寫法的性能更好,但是在一般的較小數量級的數組中這種優勢體現不出來,而且會使代碼更加臃腫,而of循環的出現則可以作為數組遍歷中的一個很好的替代品。set和map數據結構有點類似于Java中的集合框架,在很多場合都會有較多的運用,比如獲取去重之后的數組等。
不足之處:對部分邏輯的理解有偏差,比如筆者在上周認為的篩選分頁邏輯,事實上正常的篩選不管分頁與否都會帶上篩選條件,這樣做不會出現筆者預想的那種篩選結果為未加入篩選條件的那種結果。
下一階段的工作:繼續Fondante項目的開發
?
?
?
2019.7.22-2019.7.26
本周工作內容:本周筆者主要修改了所負責的風信子管理后臺的錢包的一些接口對接細節,修復了一些已知的問題。另外對接了一些新的接口到錢包模塊中,對接了匯出模塊
學習到的內容:本周筆者通過對錢包歸集和匯出的兩個操作進一步了解了后臺管理中的交易功能,同時對比特幣和USDT之間的關系和交易過程有了新的認識和體會。交易比特幣所產生的手續費和每次交易的金額大小無關,和輸入、輸出個數及實時的交易費率有關。 在技術上,筆者對于處理異步代碼和同步代碼的執行更加的熟練了,對promise和async await的特性及使用有了新的體會。另外是var和let的用法區別上,實際上在我們大部分書寫代碼的情況下都可以只使用let,因為用let來定義變量會使js代碼更容易讓人理解,也和其他編程語言的定義變量效果更接近一些,相比之下如果使用var來定義變量的話則會產生很多需要額外考慮的問題,比如說var定義變量沒有塊級作用域,存在定義變量提升的問題,但是有時候也可以考慮巧妙的利用var的變量提升特性來使得代碼書寫更加的簡潔,當然這樣寫的話會降低js代碼的可讀性,如下圖:在這里我們特意將for循環中的參數j用var關鍵字來定義(原本使用let更合適些),這是因為var關鍵字定義變量存在變量提升的問題,也就是說實際上此時j變量在編譯器里編譯執行時聲明會提升到最外層(也就是函數作用域下的第一層),這時候就可以在for循環之外使用j來處理其他的邏輯了————這是一種巧用var特性的手法。 在算法層面,筆者復習了利用動態規劃算法來解決求最長回文串問題:這是動態規劃算法的一個經典應用:https://leetcode-cn.com/problems/longest-palindromic-substring/solution/zhong-xin-kuo-san-dong-tai-gui-hua-by-liweiwei1419/?需要好好研究一番
不足之處:某些API的運用還不夠熟練
下一階段的工作:繼續Fondante項目的開發
?
?
?
?
2019.7.29-2019.8.2
本周工作內容:本周筆者配合其他同事繼續進行Fondante管理后臺的開發及相關bug的修復工作
學習到的內容:本周,筆者主要通過掘金這個對開發者十分友好的論壇學習到了一些前端開發方面的內容。首先是JS的編程風格方面,之前筆者在開發的時候一直引入了ESlint進行開發,這樣也能幫助筆者養成更好的編程習慣,另外就是本周新發現的https://github.com/airbnb/javascript?這個github項目,是關于JS的風格指南的一個開源項目,從這里筆者學習到了很多更加良好的代碼編寫風格,比如說定義變量時不要一概的使用let,在合適的時候也要使用const,要多利用展開運算符對對象和數組進行賦值等操作,當然此時要注意其淺拷貝后拷貝之后的變量對原變量的一些影響…… 還有就是對ES6新知識的繼續學習,比如set和map數據結構,這讓筆者想起了Java中的集合框架,有了set和map,在我們日常的開發中很多操作將會變得更加簡單,比如利用set進行數組的去重,利用map可以實現去存儲js原來所無法表達的鍵值對型的數據……
不足之處:對React等框架新知識的學習強度還不夠,進度較慢,要加快對React的學習
下一階段的工作:繼續Fondante項目的開發
?
總結
以上是生活随笔為你收集整理的【工作周报】2019年7月 前端开发工作周报汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python BeautifulSoup
- 下一篇: 前端需要了解的http知识