Objective
這週為自己設定為禮拜六完成所有課程,同時為兩個小作品「社群名單」、「電影清單」增加至少一個教材要求以外的小功能。
Reflective
在「社群名單」的作業,除了加上search bar、add to favorites、pagination三個基本的功能外,z複習fontawsome的使用,增加了boostrap的 carousel ,並考量實際運用中我們會希望透過年紀、性別甚至地區篩選欲聯絡的朋友,但最後到禮拜五前竟然只做好了年紀與搜尋的篩選,就只能之後有空再來研究增加功能。
在進行性別篩選時,發現只是新增加一個篩選機制,除了學習<select>、<options>標籤與selectIndex的運用,也增加兩個不同的user陣列maleUser與femaleUser,產出要選擇全部user、男性user、女性user的函數 userChagendByGender ,但造成 renderPaginator(渲染分頁)、getUsersByPage (取得每頁要呈現的人的陣列),在searchForm這個監聽器裡面,所使用的陣列filteredName等一些原本的函式和陣列都需要做或多或少的改變,只能不斷的console來找到錯誤。在debug的過程中也發現,雖然之前教材不斷提到要拆解問題寫虛擬碼,但實際在撰寫程式時,真的也會發現自己仍忽略許多步驟,如對原本的程式碼不夠熟悉,在新增功能時期所謂牽涉到變數、函式甚至監聽器都是需要考慮的因素,關於這個問題我想也是自己需要加強的地方。
Interpretive
這週最挫折的是A13的作業,一開始把自己想的太厲害列了好多功能想要增加,但最後因為時間關係只有先寫好性別篩選與 照片輪播功能carousel。 但好像因為在思考A13如何撰寫時,有透過設定當前if條件式來選取要渲染html使用的男性女性陣列,在A14的作業我就運用同樣的觀念,建立一個當前變數看是card模式還是list模式,在透過if條件是選擇要渲染的html語法,呈現card模式的清單還是list模式的清單,大約一小時左右就完成作業。另外也回去看教材提供的model answer,好像是透過changeDisplayMode函式來決定現在的模式,與modeChangeSwitch這個事件來做模式切換的監聽,因為我是直接建立監聽card和list這兩個icon的dom節點,也就是建立兩個監聽器,教材是用icon上面的父節點做監聽,我想這是較好也較為簡潔的寫法,避免我們要新增的模式越來越多,我就要新增更多的監聽器。
Decisional
下週的課程設計看起來會是2-2最有挑戰性的一週,其實心裡也是怕怕的。除了翻牌設計的專案、github的使用,還有課程驗收能力的題目要完成,因為內容較多,這週在繳交作業時,應該不會要求自己在另外研究新功能,先以完成驗收題組與2-3選課引導為目標,完成寫完ORID筆記後如有時間,再針對作業進行優化。