Re: [戰] getter / setter

看板java作者 (老子我最神)時間10年前 (2014/03/12 20:56), 編輯推噓7(7029)
留言36則, 10人參與, 最新討論串6/8 (看更多)
先舉一個例子,雖然猴大已經舉過了 有一個 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

03/12 22:29, , 1F
推最後一段
03/12 22:29, 1F

03/13 00:09, , 2F
讓我想到最近有篇文章,show me the code,git pk XDDD
03/13 00:09, 2F

03/13 00:10, , 3F
照版工的講法,工人都能為PROJECT貢獻.
03/13 00:10, 3F

03/13 00:11, , 4F
http://0rz.tw/OeRHS 普通人約架去公園,程序員約架去githu
03/13 00:11, 4F

03/13 02:27, , 5F
bitbucket也不錯呀 XD
03/13 02:27, 5F

03/13 12:24, , 6F
很好笑,等你做過案子再來說吧, 特別是大案子.
03/13 12:24, 6F

03/13 12:25, , 7F
不是到annotation getter/setter就還有其他用途了??
03/13 12:25, 7F

03/13 12:26, , 8F
東西腦不腦包 看個人體質而定 不是向來都是這樣嗎?
03/13 12:26, 8F

03/13 12:26, , 9F
證:台灣蓋的高速公司問題一堆,難道是做的人不知?
03/13 12:26, 9F

03/13 12:28, , 10F
高速路, SORRY 打錯字
03/13 12:28, 10F

03/13 12:29, , 11F
唉, "高鐵" 問題不是一開始就知的嗎?
03/13 12:29, 11F

03/13 13:16, , 12F
我不懂...為什麼提出看法要做過大案子?
03/13 13:16, 12F

03/13 13:19, , 13F
況且做過大案子的人反對L大論點的也不在少數吧?
03/13 13:19, 13F

03/13 13:43, , 14F
我給出順證了,等你給反證,大案子可以由你來提出決的.
03/13 13:43, 14F

03/13 13:46, , 15F
等你的反證,謝謝.
03/13 13:46, 15F

03/13 13:53, , 16F
所以大案子的get/set都寫的很好笑嗎?純屬好奇問問O.O/
03/13 13:53, 16F

03/13 13:55, , 17F
蠻想知道好笑的get/set長什麼樣,想避免寫出蠢code
03/13 13:55, 17F

03/13 14:17, , 18F
看過壞的 = 知道好的,二元腦袋,不適合寫程式.
03/13 14:17, 18F

03/13 14:18, , 19F
可以舉例什麼是壞的嗎?為什麼是壞的?
03/13 14:18, 19F

03/13 14:19, , 20F
額... 你提出了什麼順證... 我要反證什麼東西 = =?
03/13 14:19, 20F

03/13 14:27, , 21F
"高鐵" 問題不是一開始就知的? 結果有沒有改正?
03/13 14:27, 21F

03/13 14:28, , 22F
在下 PsMonkey 咱 getter-setter master branch 單挑
03/13 14:28, 22F

03/13 14:29, , 23F
你不是偉大的軟體工程師,可以提出看法或解法,去改變的?
03/13 14:29, 23F

03/13 14:31, , 24F
所以我舉高鐵當順證,請你舉反證.
03/13 14:31, 24F

03/13 14:35, , 25F
不管什麼案子,只要是工程的,夠大的,都可以.
03/13 14:35, 25F

03/13 14:51, , 26F
這跟高鐵例子有什麼關係? 可以直接發一篇文說明嗎?
03/13 14:51, 26F

03/13 14:53, , 27F
小弟是來學JAVA的 不是來學怎麼證明的啊!!
03/13 14:53, 27F

03/13 14:55, , 28F
學JAVA去請教版工,我在問cyclone350,不相關的人不必回.
03/13 14:55, 28F

03/13 14:58, , 29F
L大 小弟在問你什麼是壞掉的get/set 你也沒回我啊
03/13 14:58, 29F

03/13 14:59, , 30F
回樓上,我已經放棄了,基本上 L 先生只想說嘴不想論證
03/13 14:59, 30F

03/13 14:59, , 31F
我是真的想學啊 Orz.... 到底什麼是壞掉的get/set
03/13 14:59, 31F

03/13 15:00, , 32F
版工,我問你的你沒回我,還說我不論證?
03/13 15:00, 32F

03/13 15:20, , 33F
你的問題 or 論點別人一定得回,別人的問題跟論點就無視
03/13 15:20, 33F

03/13 15:20, , 34F
這叫做哪門子討論
03/13 15:20, 34F

03/13 15:37, , 35F
哇,你回我的哪一篇,我點點都回了,不會吧,你看不到?
03/13 15:37, 35F

03/13 15:51, , 36F
是你用一句回我說了算的呢, 版工先生. 我可誠意的回你呢
03/13 15:51, 36F
文章代碼(AID): #1J85bi7- (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 6 之 8 篇):
1
4
文章代碼(AID): #1J85bi7- (java)