# Q1~Q5 ### 嬿媜 #### Q1 - 簡化code - return true - 轉型問題 - 使用者輸入都是字串 #### Q2 - 嬿媜修改為隊問題動手腳 - promise可以提身使用者體驗 or prompt - 研究同步非同步 && promise , prompt - 根據問題數量去拆分 可以避免重複回答問題 這提我答錯時 又要重複輸入第一提 - 有機會研究mock #### Q3 - 提示可以提昇使用者體驗 比方你的年齡有優惠喔之類得 - 命名問題 amusementPrice #### Q4 - keyword:for break - 邏輯拆分問題 formula得部份 - for迴圈預設i值 不要隨意更改預設 跟專案有關 #### Q5 - 研究reduce - 命名問題看 codecomplete ch.11 - 邏輯界面分開問題 - test驗證邊界 比方q3 驗證6 & 65 - test 可以包一起 一起測試 比方q5-testBundle - js youtuber akshay saini - 內聚 & 耦合 --- ### 鵬化 #### Common - code indent (manual or use tool, such as prettier) - spelling check tool - utilize validation rules --- - 使用排版工具, - 外掛檢視文字拼音工具spell checking - 建立utilize做工具檔案管理。(我的module.js) - 思考如何在需求不便,簡化code寫法 - 假設情境-在要改code得情況下,如果測試寫好,就可以順者測試得邏輯再去重寫,或是回推原本code,jest記號做好。(就像糖果屋得概念 - if已經算是測試true、false,所以不必特地在寫(我的q4module.js - import、export其他用法 - keyword:嚴格模式、early return、promise、async await - 思考code可讀性問題,該在何處加入換行 - 思考用recursive去改寫for - 好讀、好寫、有架構才是現在重點,邏輯炫泡寫法已現階段是其次,不過作到專案也是相同邏輯 Q1問題目前還未解完,在研究一下 #### Q1 - strInput should Number type, in order to make your function scalable #### Q2 - use early return, in order to make your conditions more readable - your result does not show. XD #### Q3 - There are only 2 conditions in this case, so the return is not necessary. #### Q4 - checkOdd fn cam be simplify ### Chris #### Q1 - 寫code像在寫春聯,有對丈,有關係,比方function參數是(a,b,c),那變數得排序就是如下,a在最前 再來是b、c - let a = xxx - let b = xxx - let c = xxx - 了解eventloop+loupe運作 - jest Describe就類似主標題or主題,所以要寫 #### Q4 - `key:F2` 是改全局文字,在js裡只會改動scope(more deteil pls check help => editor playground) - understand <**Destructuring assignment**> - check out `forEach,reduce` - check out 除錯訊息,中斷點,callstack - open chrome inspect and chlick source,if you see the function number all the same, can deduce it's **Recursion** - check out 單部執行 - check out **pure** - Chris suggest not useing prettier at frist at js - correct code pls step by step - Judging the values of 0 and 1 basically refers to the Boolean value - not much people useing `continue` - `if else` basically not breckble, becuase of relate issue - check out 正反器,latch,filp flop - jest can use try catch - 測試重構不會出現bug - if else = 2選1 正常流程 - try catch = 不正常流程 - 其他解法 2個數組放一起,然後在將兩兩數組相減 --- # Q6~Q10 personal Q7 簡單來說就是x軸與y軸交換 ### Julia #### Q6 - 迴圈的 i 可以建立名稱 - 因為 prompt 放在迴圈裡,所以造成輸入錯誤會回到上一動問題 - Julia 認知函式是動作,所以命名為動詞; Array 使用名詞 - `nameList` better then `input4Name` because its `Array` - 可建立 2 個函式,一個針對 odd單字 ,一個針對 odd 字母 - 在寫 code 時,假設函式裡有數值,建議為數值建立變數、常數 - 有 return 測試才能接收到 #### Q10 - jest 可測試 main - export 分兩種 - named 可多個 export - defult 只能有一個,並且可隨意取名,可隨意 import 隨機名稱 ### Eva #### Q6 #### Q10 ### Chris #### Q6 - 想想命名用意,除了讓人理解或是讓人可猜測功能 - 檢查內容要與錯誤訊息要一致,這裡舉例驗證得`checkAlphabat`,驗證檢查字母,可是報錯訊息寫("檢查英文單字"),字母非單字 - `extractOddWordAddCommas`不是用來 `catch` 錯誤,所以不應該在 `try catch` 裡面,不符合這 function 作用 - 這 `function getName()` 裡面得 `prompt(input)` ,input 改為 question,因為 Fn 要做得事取得使用者名,但"如何作到"那就是問題,提出問題 - for 迴圈得 i 是控制迴圈用,關於 i 是否改名?如果使用 i 得情況夠單純,比如迴圈裡只有跑一行,那就不太需要改名稱 - 要確認 #### Q10