Re: [閒聊] OOP小評
※ 引述《csfgsj (Lazy bone)》之銘言:
: 而這一句話對你的影響
: 將決定你未來在軟體工程的生涯與發展
快說吧,不要拖台。
看了大概這一天好精彩的對話,想了一下,提個幾點吧:
1. 大概理解 csfgsj 所指的隱晦。因為 OOP 真是相當程度抽象化。
所以你可能突然看到字面上一個變數被丟給一個物件,然後你不知道那個
變數是什麼。或者你可能透過 IDE 的幫助,剛好讀得到那個變數的類別名稱,
但是很不幸地,因為與程式作者觀點不同,所以就隱晦了。
有可能你在讀程式的時候,腦中在給父子類別的程式碼做人肉融合啊。
也許請你看一看 MVC 的程式,你腦中會發生蠻有趣的事情。
為什麼 csfgsj 認為 packages 那一大堆類別是被超出來的程式碼?
我的想法是,那些都是資料型別,而寫一些類別,繼承一些類別,都是在
擴充資料型別而已。
2. 我也覺得 duck-typing 真是超討厭的東西,讓一個物件或類別裡被提到、被寫明
的東西就少了。由於眼見的資訊不多,那就跑起來然後看 debug 資訊吧,
如此做下去,久而久之,漸漸就養成讓程式跑起來才看運作內容的習慣。
可是,這種事情其實在 procedural 或 functional 的程式,都會遭遇到同樣情況。
不過,從另一面觀點來看,就是因為類別有些可以寫得很簡單、很隱晦,
可以你可以嘗試從新找回腦力的自主權,用腦袋來推動你的程式碼擴增,
而不是做大量重複的字面 copy & paste ,讓程式碼吸走你的腦力。
3. 以我身為一位不太喜歡 OOP 但必要時都會用,但喜歡函數語言的人來看:
OOP 太沒有可以用形式化的文字描寫的討論了,所以從業界來的人,談起 OOP 來,
很具體,彷彿這些程式碼帶有什麼物理作用,可是聽完之後較感覺到空虛。
有更簡單的文字書寫方式,能讓你很簡單地說,某一套程式重構成另一套樣子,
寫得比較簡單漂亮嗎?
但是函數語言是有數學與形式系統基礎的,可以用三言兩語就讓你眼見
一些很清楚的概念。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.144.227
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425402593.A.72D.html
→
03/04 01:20, , 1F
03/04 01:20, 1F
有啊,OOP的三言兩語我也見過,但是通常只能交代出特例。
當他們要說明通則的時候,就寫得很長了。
這也反映出業界的人大都由特例理解事情,而特例之間轉換、歸納通則的
思考能力不夠。
→
03/04 01:23, , 2F
03/04 01:23, 2F
→
03/04 01:26, , 3F
03/04 01:26, 3F
→
03/04 01:28, , 4F
03/04 01:28, 4F
→
03/04 02:30, , 5F
03/04 02:30, 5F
→
03/04 03:08, , 6F
03/04 03:08, 6F
→
03/04 03:09, , 7F
03/04 03:09, 7F
→
03/04 03:10, , 8F
03/04 03:10, 8F
→
03/04 03:11, , 9F
03/04 03:11, 9F
※ 編輯: yauhh (118.160.144.227), 03/04/2015 10:19:35
→
03/04 10:21, , 10F
03/04 10:21, 10F
→
03/04 13:33, , 11F
03/04 13:33, 11F
推
03/04 13:46, , 12F
03/04 13:46, 12F
→
03/04 14:18, , 13F
03/04 14:18, 13F
推
03/04 14:21, , 14F
03/04 14:21, 14F
→
03/04 14:22, , 15F
03/04 14:22, 15F
推
03/04 15:55, , 16F
03/04 15:55, 16F
→
03/05 20:58, , 17F
03/05 20:58, 17F
討論串 (同標題文章)
本文引述了以下文章的的內容:
閒聊
6
54
以下文章回應了本文:
閒聊
-2
18
完整討論串 (本文為第 20 之 43 篇):
閒聊
3
26
閒聊
0
2
閒聊
1
2
閒聊
6
21
閒聊
3
5
閒聊
1
1
閒聊
-8
31
閒聊
3
4
閒聊
1
5
閒聊
6
17