Open hatelove opened 7 years ago
幾點建議:
getDiscount()
有趣的寫法,給你個讚,哈。
private IEnumerable<IEnumerable<Book>> groupBooks(IEnumerable<Book> books) { //書籍中購買最多的數量 var maxCountOfBooks = books.Max(c => c.Count); //一次傳回一套 for (int i = 1; i <= maxCountOfBooks; i++) { yield return books.Where(c => c.Count >= i); } }
https://github.com/hatelove/PotterShoppingCart/commits/anotherRefactor 我的演算法也寫得不夠好, 但對外的 function 主流程很清楚:
2017 新版 production code 作法 (中間過程因為一些緣故有漏 commit 檔案)
TDD 演進過程主要步驟
GetDiscount() 當初想太多要讓書的種類可以超過Discount的dictionary index所以才用這樣的寫法 根據建議稍微精簡了Code
謝謝91大的指導
幾點建議:
getDiscount()
的邏輯太複雜了,不太合理,都用 dictionary 了,應該可以最簡化這段處理才對。有趣的寫法,給你個讚,哈。
Sample Solution
2016 舊版
https://github.com/hatelove/PotterShoppingCart/commits/anotherRefactor 我的演算法也寫得不夠好, 但對外的 function 主流程很清楚:
2017 版本
2017 新版 production code 作法 (中間過程因為一些緣故有漏 commit 檔案)
TDD 演進過程主要步驟