作者leicheong (睡魔)
看板Soft_Job
標題Re: [討論] 主管不認同書本的知識,說我沒學好程設
時間Sun May 8 14:43:53 2016
※ 引述《ADYex (寵物狼音樹)》之銘言:
: 例如,假設在一個租書店的程式中有以下程式碼:
: BookPreservation bookPreservation = new BookPreservation(
: "Jack", "1433717", "2016/5/8", "2016/8/8");
: 其中4個參數分別為 userName, userId, startTime, endTime,
: 比較好的作法是將各自相關聯的參數各自包裝,變成:
: BookPreservation bookPreservation = new BookPreservation(
: new User("Jack", "1433717"), new TimePeriod("2016/5/8", "2016/8/8"));
: 這個重構手法能帶來的好處如下:
: 1. 提升可讀性
: 2. 未來維護簡單
: 3. 容易因此將相關功能移入新造的class中,改善程式碼分工
: 試著像這樣將原作法的壞處與新作法的好處跟主管說看看吧。或是塊陶。
這個的話還需要看在用甚麼程式語言吧.
像在VB和C# v4+上也可以這樣寫:
BookPreservation bookPreservation = new BookPreservation(
userName: "Jack",
userId: "1433717",
startTime: "2016/05/08",
endTime: "2016/08/08");
這樣寫比分拆成用property設定更好. 也是你之前說的「在初始化時設定」
和「先全部初始化成null, 在建構完成後再設定」的差別.
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.238.59.15
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1462689836.A.F5A.html
※ 編輯: leicheong (61.238.59.15), 05/08/2016 14:44:55
1F:推 wens: 是啊,不過能這樣指定的是少數 05/08 23:11
2F:→ ykjiang: 所以跟語言有關... 05/08 23:44
3F:→ ykjiang: 不能這樣用的語言,其實也可以把一個物件拆成多個小物件 05/08 23:44
4F:→ ykjiang: 藉此減少參數量 05/08 23:45
5F:推 lainhot0114: 寫程式跟作文一樣,文字的呈現也是種藝術 05/10 23:28