看板 java 關於我們 聯絡資訊
先舉一個例子,雖然猴大已經舉過了 有一個 class Person 對應 method 如下 void setName(String name); void setName(String name, Locale locale); String getName(); String getName(Locale locale); 我們可以用如以下方式使用 //從資源庫取一個Person instance Person person = Repository.create(Person.class); person.setName("myNameByDefault"); person.setName("myNameByEnglish",Locale.UK); //把Person存取到持久層 Repository.save(person); 從以上來例子看...我們知道一個 Person 有名字,而且可以有多個語系的名字 如果我們把 getter/setter 拿掉,所有使用Person這個class的人,都需要知道 這個class裡面複雜的架構... 但是這是不必要的,我們只要知道,Person有Name 而且是多國語系,這樣就好了。 這應該是 Java 語言本身就很強調的... 抽象化的概念? 當然,如果一個class只是個data structure (或稱作簡單的Java bean?), 且class裡面的每一個member都必須是可以被外部class可以access的, 我也覺得 getter/setter 在這種情況是多餘的 (這種情況意指這個class並沒有做任何商業邏輯) : → Lordaeron:我已經說過, 我看過的PROJECT 都是一堆get/set 03/12 16:04 : → Lordaeron:請問@f先生還要問什麼呢?CODE 又不止我寫的,有問題? 03/12 16:06 : → Lordaeron:而我往往只負責收尾,只是看到一堆GET/SET很好笑. 03/12 16:08 L大所述 "只會一直無意義get/set很XX", L大說法換個說法應該是說 "只會無腦寫程式的人很XX" 這種說法有點弔詭... 我們假設世界上真的有無腦的工程師 既然他們不會動腦,那他們職位可能就是猴大所述的"工人" 既然不會動腦,那何來getter/setter呢? 想必是照著leader開出的規格寫的 所以如果真的是XX,那應該也是上面的人XX,而不是這群工人XX吧? 就好像設蓋房子一開始設計圖就畫錯了,結果卻怪罪底下的工人亂做一通一樣... 我們是軟體工程師 (好啦也許只有我是...) 我們可以根據不同的情況找出不同的解法 既然在某些請況真的不適合使用 getter/setter 那可以跟當初的定規則的人討論,提出看法或解法 而不是在那邊說 "很可笑,很白X",不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.201.124
Expsun:推最後一段 03/12 22:29
kewang:讓我想到最近有篇文章,show me the code,git pk XDDD 03/13 00:09
Lordaeron:照版工的講法,工人都能為PROJECT貢獻. 03/13 00:10
kewang:http://0rz.tw/OeRHS 普通人約架去公園,程序員約架去githu 03/13 00:11
plover:bitbucket也不錯呀 XD 03/13 02:27
Lordaeron:很好笑,等你做過案子再來說吧, 特別是大案子. 03/13 12:24
jej:不是到annotation getter/setter就還有其他用途了?? 03/13 12:25
jej:東西腦不腦包 看個人體質而定 不是向來都是這樣嗎? 03/13 12:26
Lordaeron:證:台灣蓋的高速公司問題一堆,難道是做的人不知? 03/13 12:26
Lordaeron:高速路, SORRY 打錯字 03/13 12:28
Lordaeron:唉, "高鐵" 問題不是一開始就知的嗎? 03/13 12:29
cyclone350:我不懂...為什麼提出看法要做過大案子? 03/13 13:16
cyclone350:況且做過大案子的人反對L大論點的也不在少數吧? 03/13 13:19
Lordaeron:我給出順證了,等你給反證,大案子可以由你來提出決的. 03/13 13:43
Lordaeron:等你的反證,謝謝. 03/13 13:46
tails32100:所以大案子的get/set都寫的很好笑嗎?純屬好奇問問O.O/ 03/13 13:53
tails32100:蠻想知道好笑的get/set長什麼樣,想避免寫出蠢code 03/13 13:55
Lordaeron:看過壞的 = 知道好的,二元腦袋,不適合寫程式. 03/13 14:17
tails32100:可以舉例什麼是壞的嗎?為什麼是壞的? 03/13 14:18
cyclone350:額... 你提出了什麼順證... 我要反證什麼東西 = =? 03/13 14:19
Lordaeron:"高鐵" 問題不是一開始就知的? 結果有沒有改正? 03/13 14:27
lovelycateye:在下 PsMonkey 咱 getter-setter master branch 單挑 03/13 14:28
Lordaeron:你不是偉大的軟體工程師,可以提出看法或解法,去改變的? 03/13 14:29
Lordaeron:所以我舉高鐵當順證,請你舉反證. 03/13 14:31
Lordaeron:不管什麼案子,只要是工程的,夠大的,都可以. 03/13 14:35
rock1985:這跟高鐵例子有什麼關係? 可以直接發一篇文說明嗎? 03/13 14:51
tails32100:小弟是來學JAVA的 不是來學怎麼證明的啊!! 03/13 14:53
Lordaeron:學JAVA去請教版工,我在問cyclone350,不相關的人不必回. 03/13 14:55
tails32100:L大 小弟在問你什麼是壞掉的get/set 你也沒回我啊 03/13 14:58
PsMonkey:回樓上,我已經放棄了,基本上 L 先生只想說嘴不想論證 03/13 14:59
tails32100:我是真的想學啊 Orz.... 到底什麼是壞掉的get/set 03/13 14:59
Lordaeron:版工,我問你的你沒回我,還說我不論證? 03/13 15:00
PsMonkey:你的問題 or 論點別人一定得回,別人的問題跟論點就無視 03/13 15:20
PsMonkey:這叫做哪門子討論 03/13 15:20
Lordaeron:哇,你回我的哪一篇,我點點都回了,不會吧,你看不到? 03/13 15:37
Lordaeron:是你用一句回我說了算的呢, 版工先生. 我可誠意的回你呢 03/13 15:51