andycow0 / TDD_HW1

#HW1 for TDD class of SkillTree.
0 stars 0 forks source link

homework review completed #1

Open hatelove opened 8 years ago

hatelove commented 8 years ago

完成地不錯,幾點建議如下:

  1. expected 無須額外強轉型成 List var expected = (new[] { 6, 15, 24, 21 }).ToList();
  2. 目前的設計是在 constructor 傳入集合資料,這樣設計有好處有壞處,好處是API會省掉一個參數,比較簡潔,壞處則是當我想用同一個 OrderAnalyzer instance 處理別的資料集合時,是無法支援的,只能重新 new 一個 instance 才能處理。

這邊也提供我的 sample solution 給您參考一下:http://bit.ly/91-tdd-day1-homework-solution

第一版只支援 Product, 第二版則使用 extension method + generic + lambda 來支援任意型別。

andycow0 commented 8 years ago

感謝 91 的指教,以做基本的修改 (並未針對任意型別修改),修改內容如下:

  1. 除由 constructor 傳入集合資料,並新增可供外部變更資料集合的 property (DataList)。
  2. 以及將測試方法的名稱改為較為白話的命名。

想請教 91 這樣僅以目前作業的情境來說新增開放 property 的方式注入,是否有其他的盲點或違反原則問題 ? (因目前實務上有些類似的作法,但並非所有情境皆這樣使用)