Re: [戰] getter / setter

看板java作者 (痞子軍團團長)時間10年前 (2014/03/12 10:07), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/8 (看更多)
※ 引述《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
針對 int i 的部份 在 js 是先宣告是恰當的寫法
03/13 15:53, 1F

03/13 17:37, , 2F
這是JAVA啊 而且JS主要是因為變數範圍是以func為準啊
03/13 17:37, 2F
文章代碼(AID): #1J7y5n7o (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 8 篇):
1
4
文章代碼(AID): #1J7y5n7o (java)