Re: [討論] 主管不認同書本的知識,說我沒學好程設

作者: leicheong (睡魔)   2016-05-08 14:43:53
※ 引述《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, 在建構完成後再設定」的差別.
作者: wens (文思)   2016-05-08 23:11:00
是啊,不過能這樣指定的是少數
作者: ykjiang (York)   2016-05-08 23:44:00
所以跟語言有關...不能這樣用的語言,其實也可以把一個物件拆成多個小物件藉此減少參數量
作者: lainhot0114 (企鵝)   2016-05-10 23:28:00
寫程式跟作文一樣,文字的呈現也是種藝術

Links booklink

Contact Us: admin [ a t ] ucptt.com