Re: [戰] getter / setter
※ 引述《Lordaeron (Terry)》之銘言:
: 版工, 國外10 年前就吵得很熱了, 怎麼現在來戰?
說的悲哀一點,我還真不知道這個版這十年以來
有哪個(技術討論)的 thread 在國外沒有吵過的
再者,這話頭明明是你擺出起手式的
在推文中戰跟開一個 thread 戰,我不知道有什麼不同
請不要自相矛盾
: 支持者的說法不外:
: 1. 這兩個方法可以方便增加額外功能(比如驗證)。
: 2. 內部存儲和外部表現不同。
: 3. 可以保持外部接口不變的情況下,修改內部存儲方式和邏輯。
: 4. 任意管理變量的生命週期和內存存儲方式。
: 5. 提供一個debug接口。
: 6. 能夠和模擬對象、序列化乃至WPF庫等融合。
: 7. 允許繼承者改變語義。
: 8. 可以將getter、setter用於lambda表達式。(大概即作為一個函數,參與函數傳遞和運算)
: 9. getter和setter可以有不同的訪問級別。
: 但看上面的說法: 咦, 你的物件有以上的需要呼?
: 在偉大的JAVA案子中, 9 成以上, 不就是BEAN? 這不就是"簡單" 的取值設值而已.
: 這要不要算是過度使用呢?
: 引一篇 http://www.importnew.com/9716.html
: 有興趣的人可以去看看.
: 致於誰要信服什麼, 倒不必了, 這宗教式的OOP,
: 因為還有人, PERL, PHP, 甚致C++ 都要getter/setter一下的.
你覺得騎機車簡不簡單呢? 我覺得挺簡單的
你覺得開車要不出事簡不簡單呢? 我覺得挺簡單的
那麼為什麼騎機車要帶安全帽,不然罰 500
那麼為什麼開車要綁安全帶,不然罰 1200
這可能扯太遠了,不然就說變數
private void foo() {
for (int i = 0; i < 10; i++) {
//something
}
for (int i = 0; i < 10; i++) {
//something
}
}
對於兩個 i,也不過就是簡單的存值取值而已
那為什麼我不能寫成
int i;
private void foo() {
for (i = 0; i < 10; i++) {
//something
}
for (i = 0; i < 10; i++) {
//something
}
}
goto 對某些人而言也蠻簡單的,所以應該要可以用 goto
變數名稱其實也不重要,浪費時間取好名字,過度使用
a1, a2, a3 依序用下去就可以了
(反正混淆器下去之後還不都一樣)
廢話,這些當然都可以
就如同你要把自己寫的 class 的 package 弄成 java.lang
compile 不會出錯,你想怎樣都碼可以
我不否認 Java 很多時候的思維是依循「最大公因數」
也就是用一般凡人都可以順利寫程式的、也不太容易出錯的
而不是想要去提供超~方便的 feature
所以大抵上每個人寫出來的 code 會差不多
因為能變得花樣也不多
簡單地說,Java 的思維就是讓程式設計「工人」也可以對 project 有貢獻
而不用都是一群優秀的程式設計師
就像蓋房子不用土木工程師來實做,道理一樣
OO 基本上也是有這種思維的調調
封裝繼承多型,就是把程式碼擬物化
可以貼近(一般)人的思維
看看很多討論 / 教學 OO 的範例碼
都可以寫出很生活化(也很爆笑)的範例
或著說,至少有一半以上的技術,都是這種思維
你要把他當優點還是缺點,這就隨人高興
端看你要用個人的角度、還是軟體工程/project 的角度
「本大爺一個人可以 hold 住 Tomcat 等級的 project」
那哪怕你要用自己發明的語言,也不會怎麼樣
也許你實際要說的是「OO 的設計很白痴」
所以連其他要 OO 化的語言也都打翻
getter / setter 只是第一線的代罪羔羊
只能說,你在宣揚「getter / setter 還頂白痴」時
連同這篇也看不出什麼有效的論點
甚至可以說「因為還有人無論什麼情況下都不要 getter/setter 一下」
難道就不是你所謂的「宗教式的反 getter/setter」
請不要自相矛盾
========
話說,連我這種程度,上頭的 2, 3, 9 都基本上必備
更不用說那該死的 GWT AutoBean.....
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.138.221
推
03/13 15:53, , 1F
03/13 15:53, 1F
→
03/13 17:37, , 2F
03/13 17:37, 2F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章