→ Deltaguita: 又是一篇廢文 08/13 13:18
→ leolarrel: 優! "物件導向"只是一個宗教術語,怎麼樣生出好維護高品 08/13 13:21
→ leolarrel: 質的code才是重點,如果有更好的設計方法,何必一定要OO? 08/13 13:23
→ leolarrel: 只要作出高品質的code,用函數編程也可以 08/13 13:24
推 hidog: 如果這麼簡單就有好的設計方法,那就不會有OO出現了zzz 08/13 13:34
→ hidog: 我們也不需要看design pattern了 對吧 XD 08/13 13:34
→ hidog: 為什麼會有MVC 會有物件導向 會出現framework 是不是應該 08/13 13:35
→ hidog: 回到需求面來思考? 08/13 13:35
→ hidog: 幾個人開發的程式跟幾百人開發的程式,方式絕對不同 08/13 13:36
→ hidog: 生命週期短跟生命週期長的專案,開發方式也會不同 08/13 13:36
→ hidog: 原作者只是要問如何學物件導向,針對這點來回應吧 不要扯遠 08/13 13:37
→ hidog: 自己學生時代直接寫個幾十萬行的應用程式 就自然體會 08/13 13:38
→ hidog: 很多事情了. 剩下的就是網路多看別人怎麼設計. 08/13 13:39
→ hidog: 物件導向本來就是個懂概念很簡單,寫得好需要長年練習的東西 08/13 13:39
→ leolarrel: 物件導向或許在10幾年前是個很好的解決方案吧.... 08/13 13:50
→ hidog: 直到現在也還是阿 不然幹嘛一堆公司面試要問你OO的概念 08/13 13:52
→ leolarrel: 現在進入平行化/大數據/IoT 的世紀,用OO開發是不是最好 08/13 13:56
→ leolarrel: 的解已經不一定囉 08/13 13:56
推 tomtang0406: 其實...面對 scale out 的 grid computing 和平性運 08/13 13:57
→ tomtang0406: 算,就會開始有 anti-oo 和 function orient 的議題 08/13 13:57
→ tomtang0406: 了,就更NoSQL和 反正規化設計一樣,本來就不是ㄧ藥 08/13 13:57
→ tomtang0406: 治百病,但看到有人這樣一面倒地反對,也只是另一個 08/13 13:57
→ tomtang0406: 不切實際的極端罷了 08/13 13:57
→ leolarrel: 無論如何,函數編程/mapreduce 概念已經興起了 08/13 13:58
→ leolarrel: 所以重點是,OO已經不是唯一解,打code不要定侷限某一種 08/13 14:00
→ hidog: 還是老話一句 看需求決定該怎麼做. 08/13 14:00
→ leolarrel: 生出你的同事也看的懂且容易維護的code才是最該思考的 08/13 14:00
→ leolarrel: 不然用了OO,結果變數名取個_001,_002這種的,只會.... 08/13 14:02
→ hidog: 很熟OO的人會採用這種命名嗎 別開玩笑了好嗎 = = 08/13 14:04
→ leolarrel: 請專注重點,舉命名的例子只是印證打code界裡還是有白痴 08/13 14:07
→ adks3489: 這種白痴就算不是用OO也不會變天才好嗎 08/13 14:13
→ shadow0326: 幫這篇護航那位大概不知道這位大濕覺得複製貼上最好 08/13 14:16
→ shadow0326: 遇到重複性高的代碼怎麼辦? 通通複製貼上就好 08/13 14:16
→ lovdkkkk: 推薦可以估狗一下, ORM 在彈性方面的問題 08/13 14:19
→ a47135: "只看"推文的話,說的其實有道理..... 08/13 14:19
→ lovdkkkk: ex 估狗 "ORM flexibility" 08/13 14:19
→ lovdkkkk: 像是, 痾..., "花花" 的這一篇有一些探討 08/13 14:20
→ lovdkkkk: 只是想說 OO 確實不 "總是" "只有" 好處 08/13 14:20
→ lovdkkkk: 有些狀況真的寧可不 OO 08/13 14:21
→ leolarrel: shadow0326大大,我知道這位大師何許人也,但我不算護航 08/13 14:21
→ leolarrel: 吧,我的重點是不該侷限某一種開發思維 08/13 14:21
→ hidog: 我同意OO有缺點阿 我有些時候寫純C是完全不考慮OO的 看場合 08/13 14:23
→ hidog: 但是這樣討論下去 似乎偏離了原作者想問的問題了XD 08/13 14:24
→ leolarrel: 我反而覺德原作者最先該想的就是這樣的"問題",而不是 08/13 14:27
→ leolarrel: 被前輩噹一噹就覺得"不能再逃避"了,侷限在某一種開發 08/13 14:28
→ leolarrel: 不去接觸新東西新技術新時代,才算是逃避拉 08/13 14:28
→ leolarrel: 尤其台灣的"資深前輩",大部分都是10幾年前的絕招現在 08/13 14:30
→ leolarrel: 還在用的"資深主管",一堆連git都沒聽過的老灰仔 08/13 14:31
→ hidog: 職場上是你去配合環境而不是環境來配合你 別害人了好嗎XD 08/13 14:33
→ leolarrel: 那種看到樓主沒有用OO就噹人的人,就像看到年輕人沒有把 08/13 14:33
→ leolarrel: changelog打在程式碼的最開頭就說"你寫程式怎麼都不紀 08/13 14:34
→ leolarrel: 錄一下改了啥??",拜託版本控制觀念已經快20年了 08/13 14:35
推 LaPass: leolarrel,樓主沒你想的這麼前衛,他支持的沒用OO,拿你 08/13 14:43
→ LaPass: 例子來講,就是,「changelog寫在程式開頭就好,用什麼git 08/13 14:44
→ LaPass: ,版本控管系統爛死了。」這樣的感覺。 08/13 14:44
→ leolarrel: 恩,請問你說的樓主是dnabossking嗎? 08/13 14:47
→ leolarrel: 當然如果他的程式用OO比沒用OO好,那自然該改,只要不要 08/13 14:48
推 LaPass: csfgsj,你看一下他之前發文就知道了。他應該很資深。 08/13 14:49
→ leolarrel: 是肯定用OO是可以產出好品質好維護的code即可 08/13 14:49
→ LaPass: 我記得 csfgsj 之前就貼了不少反對OO的文章,你可以看看他 08/13 14:50
→ LaPass: 的論點。 08/13 14:50
→ leolarrel: csfgsj這個神人我也挺...的,另,只要OO適合你的案子,沒 08/13 14:51
→ leolarrel: 有理由不用 08/13 14:52
→ leolarrel: 不要向那種老灰仔一樣什麼都是OO最好就行了 08/13 14:53
推 hidog: dnabossking只是個公司新人 你們要他去跟公司前輩吵要不要 08/13 14:53
→ hidog: OO 要不要怎樣 不覺得是在害人嗎....= = 08/13 14:53
→ hidog: 在討論工具合理性之前 在新公司就先黑掉了 何必這樣 08/13 14:54
推 LaPass: leolarrel遇到的老灰仔的類型跟我完全不一樣耶 XD 08/13 14:57
→ LaPass: 我遇到的,是完完全全把java當成c在寫,幾乎沒用class,把 08/13 14:58
→ leolarrel: 可能我比較衰,遇到的資深前輩80%都是食古不化,唉 08/13 14:58
→ LaPass: jsp當成php用。完全沒物件導向,用物件導向寫,還會把程式 08/13 14:58
→ LaPass: 碼拆出來到jsp中,說「我幫你把程式碼改的好一點」 08/13 14:59
→ leolarrel: LaPass說的那種人我也不能認同,該什麼情況就該用適合的 08/13 15:00
→ leolarrel: 思維與方法 08/13 15:01
→ LaPass: 結果,我在一段常常剪下貼上的一段程式碼中發現有sql注入 08/13 15:01
→ LaPass: 他問我該怎麼改,我回答不知道,因為那個段落我估計在整個 08/13 15:01
→ LaPass: 系統一兩萬頁jsp中,我估計有大概有幾百到幾千頁都有用到 08/13 15:02
→ LaPass: 然後又不能用搜尋取代,因為每個片段都有點點不一樣。 08/13 15:03
→ leolarrel: 因為他沒有OO結果那個sql inject bug散佈各處,對吧? 08/13 15:03
→ leolarrel: 還好我不寫網頁,不會遇到他,不然.... 08/13 15:03
→ LaPass: 有OO不代表不會遇到bug,但是許多狀況只要改一個地方,其 08/13 15:04
→ LaPass: 他用到同一片段程式碼的部份就都能一起修好了。 08/13 15:05
→ leolarrel: LaPass,沒錯 08/13 15:07
→ a47135: 改一個Bug能修一個禮拜為什麼要用一天,Code只有我知道去 08/13 16:07
→ a47135: 那些地方改,增加自己的不可替代性 08/13 16:07
→ a47135: 有些人大概就是這種想法吧 08/13 16:07
→ Ekmund: 好的OO確實方便管控和維護啊...怎會BS 08/13 17:47
→ dnabossking: 感謝各位大大寶貴的意見 08/13 21:01
推 locklose: 這篇還不錯 08/14 00:24
→ Wush978: OO和Functional不衝突,可以並存的不是嗎? 08/14 07:40
推 recorriendo: 嚴格的 functional programming 有 08/14 18:34
→ recorriendo: referential transparency 也就是沒有state 沒有side 08/14 18:35
→ recorriendo: effect 所以這和OO不相容 現在把兩者結合的程式 其實 08/14 18:36
→ recorriendo: 就是犧牲了finctional lang的referential transparen 08/14 18:36
→ recorriendo: cy特性 還使老話一句 任何東西都有tradeoff 08/14 18:37