看板 Soft_Job 關於我們 聯絡資訊
物件導向啊..... 我通通自學,專有名詞之類的不太懂 但我覺得一個好的程式需要做到下面這幾點: 1.截斷點多: 寫程式之後,應該都遇過這種狀況 就是,已經寫過某個東西,例如,讀取一份特定格式的文字檔 然後把文字檔中的資料寫進資料庫之類的 有時候,工作內容可能會改一下 讀取同樣一份文字檔,但是把文字顯示在畫面上之類的 如果,當初在寫的時候,有個「截斷點」 就可以直接把「讀取文字檔」這段拆下來,再寫個顯示部分裝上去就好了 聽起來好像很容易,但實際在寫、看程式碼的時候 我常常看到一堆黏在一起,相依性太高的程式碼,根本拆不開..... 我會覺得物件導向,好就好在,可以藉由物件導向,讓這種拆裝過程變的很簡單 2.可靠、不用去理會、理解底層在幹什麼的元件 也就是說,如果我打算使用一個「已經寫好的」元件 我可以只看簡單的文件,就知道這個元件是在幹什麼 不用管他怎麼去做到這種功能 更不用再去把所有底層的CODE全部看過才有辦法動手寫 3.程式有錯、商業邏輯有錯時,程式應該要自己知道、並把錯誤的狀況給記錄下來 有時候程式會跑出很奇怪的結果 有些根本是沒錯誤訊息的,這時候,程式應該要自己知道是什麼狀況 用物件的概念,可以很簡單的把功能、可能性給縮小到某個範圍內 自然可以去寫出個判斷式,在執行前、後去檢查,這些參數、執行結果對不對 不過工作一段時間後 我的原則已經退化成: 1.能動就好 2.時間到能準時交出成品就已經非常棒了 3.客戶沒看到的bug就不是bug 4.系統架構長什麼樣子根本不重要,因為只要PM跟客戶開過一次會,就全部不一樣了 5.漏洞不重要,什麼SQL injection、XSS之類的..... 反正使用者不知道,把漏洞擺著,到整個系統的生命週期都過了 搞不好都沒人發現、發現了也未必會去攻擊 當程式架構不是自己開得時候 什麼都控制不了呢 orz..... 而且客戶、PM永遠只會看介面漂不漂亮 其他看不到的通通都不管 寫別人要用的程式真的是一點趣味性都沒有.... -- 一題5分 你得幾分? 1.__少女 5._少女 9.__女 13._女、_女、_女 17.__女_ 2.__少女 6.___少女 10.女__ 14._女、_女、__女 18.__女__ 3.__乙女 7._少女 11.女_ 15._女____ 19.__女_ 4.__少女 8.__少女 12._乙女 16.女_____ 20.__女 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.67.171
gmoz:第四點XD... 09/22 16:54
f1234518456:推你.... 09/22 17:31
derekhsu:這是應該要工作5年以上才有的型態 09/22 17:33
※ 編輯: LaPass 來自: 114.38.67.171 (09/22 19:12)
dyoll:中肯 09/22 20:43
LaPass:我也想寫優美的程式..... = = 09/22 21:05
xxxzzz:第五點深有同感....也很無奈... 09/22 21:08
xxxzzz:目前為止我好像只在網路才遇的到重視第五點的人 09/22 21:09
derekhsu:假設你在工作第一年就有了,那不是個好現象 09/22 21:34
marcusmiller:請問版主可以上面四點到轉FB嗎?會標注來源! 09/22 21:43
LaPass:請轉,但是不要標註來源。 09/22 21:50
LaPass:不斷將規格翻掉重來、主管/客戶只看/挑介面、經常把時限壓 09/22 21:56
LaPass:的很緊,被這三點磨個幾次就變這樣了..... 09/22 21:57
PRAM:把物件導向的「繼承」功能拿掉,每個類別都是獨立的類別,個 09/22 22:08
PRAM:人覺得這樣才有辦法做到隨意拆裝的地步,就好像硬體IC裝配到 09/22 22:09
PRAM:電路板上一樣。可惜OO愛用者不會認可這一條。 09/22 22:09
andymai:繼承不是罪~有罪的是濫用它的人~就像刀可切水果~也可殺人 09/22 22:26
LaPass:這就是 is a 跟 has a 的差別 09/22 22:33
LaPass:有必要繼承的狀況才繼承就夠了。 09/22 22:34
iceonly:就算是has a的那個a也是用到is a 09/22 23:39
iceonly:把繼承完全拿掉難以想像就是 09/22 23:40
LaPass:那個會死人吧.... 又不是在寫OS或是很低階的東西,這麼虐待 09/23 00:06
LaPass:自己幹什麼 囧" 09/23 00:07
SansWord:把繼承拿掉把Interface拿掉才真的是災難..... 09/23 08:11
SansWord:繼承拿掉怎麼多型,怎麼拆裝 "任意的" 實作方式? 09/23 08:11
SansWord:Overdesign 的確是會發生的問題, OO 語言的 Anti-Partern 09/23 08:18
SansWord:也比以前更多,可是也不能因噎廢食吧.... 09/23 08:19
viper9709:最後一句真是點醒夢中人... 09/23 21:42
johnlinvc:繼承確實不太好,所以才有composition over inheritance 09/24 09:47