畢業專案簡報時,評審的手也沒有閒著,從各個角度來測試專案是否能正常運作,進一步的防止有心人士偷改資料造成系統當機。Max、維元、楚玄、Sam…..等評審給予的回饋,在往後的成長道路上,都是非常寶貴的第一手經驗。
成品展示
第一組團隊成品(飲料店)
我所待的團隊是這組,開發過程可以點這邊:https://smlppoints.com/alpha-camp-semester-4-2019-reflection-2
網站版:https://damp-cliffs-89201.herokuapp.com/
Github:https://github.com/F-Kibatodos/final-project
第二組團隊成品(訂閱制訂餐服務)
網站版:https://nextmeal.herokuapp.com/#/
Github:https://github.com/smallpaes/nextmeal
第三組團隊成品(家具店)
網站版:https://ajashop.co/
Github:https://github.com/ArcherHuang/e-commerce
觀察與建議
印象中,口試當天其實的心跳普遍處在一個高頻率的段落。雖說先前有跟楚玄助教詢問過一些口試可能發生的狀況,但事實上的精采程度跟雲霄飛車有的比。
1. 客座評審 Max 的實測 Hack 過程,也讓我開了眼界。真的不要心存僥倖說:「應該不會有使用者這樣的有興趣來測試網站漏洞。」
2. 在專案開發期的三回面談,楚玄助教有提及到與其一味的開發新功能,也要顧及功能的完整性(換言之就是要考量各種的 Edge Case,不要輕易就出包)。
3. 助教 Sam 也提及他期許這個專案可以增加更多的亮點功能。跟週四的兩組功能相比,其 Dashboard 和自動化發送信件功能,是我滿想嘗試卻沒有時間來實作的,有些可惜。(或許之後可以來當 Side Project 來試用看看)
4. 維元老師有詢問我們在專案實作上的盲點和與人合作的過程。畢竟在實際進行專案的過程中,與人之間的溝通會佔用相當比例的時間。
5. Bernard 校長的面試和履歷提點,對於從未進入這產業的轉職者而言,是非常實用的第一手面試官意見分享。
以下整理出由三組專案點評後的提點內容:
登入/登出階段
1. 使用者登入階段,Email 不要區分大小寫,以免被判定成兩個帳號。
消費者行為
1. 購買數量要注意數字上限,要在後台設立阻擋邏輯。
2. 交易判斷環節(transaction)、金額等關鍵數字,要儘量從後端取值並給予驗證。以免有心人士竄改前台數字傳入,導致最後金額出錯。
3.以電商的角度而言,使用者的體驗非常重要(關係到轉換率)。因此應用程式的效率要高、表單要有提示和驗證訊息、金額不能因為消費者點了上一頁、或是另開新視窗後就出錯。
後台操作
1. 當表格的數量過多,要記得加上分頁功能和依照時間排序(由新到舊)
2. 後台檢查欄位的邏輯要放在 promise 的 then 裡面,否則會有重複建立值的可能 (Case 請點此)
佈署相關
1. 當分散式佈署時,隨著資料量的增加,有可能出現不同步和錯誤情況。
2. 選用套件和伺服器時,需留心專案的複雜度會不會因此而變高,導致後續難以維護。
其他
1. console.log 在測試完後,記得要移除或是區分 log level。
2. Hedge Case、Routing、分類和排序要考量到例外狀況,以避免頁面沒有回應
3. 使用者的層級要分細一點,方能因應各種管理狀況。同時,model 的關聯性要再留心,像是分店地址可以考慮獨立一個 model,不一定要與哪個model關聯。
關於面試
1. 專案討論文件整理(Trello, Google 文件…等),如何合作和處理衝突的過程
2. 驗證的重要性
3. 寧可自己先提出專案可能有的漏洞,有嘗試過的方法,而非一味被動的等別人發現
4. 判斷專案 User Stories 的先後執行的原則(什麼先做,什麼後做)
後記
自2019年初踏入AC Camp,將近10個月的時間,扎扎實實的學到了如何優遊在程式海中的一種生活方式。以這邊所打下的基礎,如同得到一把超級釣竿,要在各種水面環境下釣魚都從不可能變成願意嘗試看看。最後,有幸得到前人提點道路,讓自己變得更強並提點後人,創造一個正向循環。那麼,這個部落格想必不會缺題目寫的。