# q6~q10 Code Review ## Code Review by Pam * regex正規表達式太方便先不用,試試看土炮判斷(判斷字元代碼之類的) * 驗證時的使用者體驗,讓使用者知道輸入的為什麼錯,可能英文名中不小心打到數字,就提示字元中不能有數字 * array method中的function常用arrow function ### q6 * 雖然題目只求第一跟第三,但考慮可能改取不一樣項目,可以寫一個 array 放目標的 index,再透過 array 去取得 * 每個獨立 function 的 return 值可以寫更清楚,例如我寫`return newArray`,可以改成`oddLetterArray`之類的 * `askQuestion`這個函式可以單純一點,只問問題且得到`answers`,再透過呼叫`q6Module`把`answers`傳進去得到結果 * `answers`也可以不用是`askQuestion`的參數,直接在函式裡宣告後`return`出去 * `callBackFn`的命名可以更明確,例如:`doSomeToAnswers` * `q6Module`的命名,可以是`getOddLetter`之類的 ### q7 * 我寫的`printArrayToString`其實不是印出,所以名稱要改一下 * 我的`rotateString90Degrees`太大包,可以拆一些步驟出來,閱讀上比較容易 * verify做測試,這樣題目的`module`就可以考慮不測驗證 * 轉數字除了`Number()`也可以用運算子強制轉型`+"1"` ### q8 * ``[number.toFixed(3).length - 2]]``這串可以寫個變數裝 ### q9 * `for`迴圈可以改成array method,寫迴圈時要動腦思考`i`的範圍,可以把心思放在更重要的邏輯 ### q10 * Pam 寫了`class`建構函式我的媽呀,他說他是當練習,我直接傻眼 ## Code Review by 鵬化 ### common * 程式碼空格與縮排的問題,用Prettier解決了 * 檔案格式的設計,盡量有個原則規範,我的有些有module有些沒有 * 寫code時注意一些縮排跟換行時機,讓程式碼更好閱讀 * 想像寫code是寫文章,要有段落設計,利用空行來區分不同邏輯行為 * readline共用問題,設計上將readline設計得更模組化,讓每一題可以輕鬆共享,維護上也比較方便 ### q6 * 變數命名,`name`是陣列,叫做`name`容易搞混,例如改成`names` ### q9 * 鵬化說如果硬要講,就是將這題設計成不只合併兩個陣列 ## Code Review by Chris ### common * 測試時要測garbage in,把使用者當智障會亂輸入 * `++i`與`i++`的差別及使用時機、執行順序 * 測試的目的是展現功能 * random測試要再研究,目前是自己模擬了假變數 * 一定要測題目(我轉圖形那題沒有測愛心) ### q6 * try...catch還有最後finally,將try跟catch都會執行的放進去,也要探討finally的特性 * 盡量減少`rl.close()`使用次數 * goalIndexArray命名,可改成target... ### q7 * for迴圈中的條件邏輯需維持原狀,需要時可以直接無痛轉換成map形式 * 原本轉陣列使用了`map`,Chris認為不太像`map`,所以改用`forEach`(講仔細一點就是map通常會對每個元素做事情後`return`,但我的行為是根據每個元素去賦值給另一個陣列)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up