程式語言文法簡化 (was: [問題] 從文字檔讀取먠…

看板java作者 (Alien)時間16年前 (2009/08/21 12:00), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/7 (看更多)
: 推 Schelfaniel:Java 規定就是這樣,不想寫 public 就用 Scala 吧 08/20 11:36 : 推 PsMonkey:樓上拉票拉很大.... [誤] 08/20 11:46 : → Schelfaniel:我是覺得語言本身就應該提供一些能省略的機制的, 像是 08/20 11:57 : → Schelfaniel:美國真多加拿大人 其實是 (在)美國(有)真多加拿大人 08/20 11:59 : 推 PsMonkey:嗯.. 持反對意見 XD 08/20 13:23 : → sbrhsieh:就這個問題而言,五樓提出的建議是本末倒置。 08/20 16:06 : 推 puzi:樓上認真了....XD 08/20 21:33 : → Schelfaniel:本末倒置嘛?如果我和你功力一樣,少打個public就比較快 08/21 09:26 : 推 qrtt1:寫程式又不是打字比賽,快慢意義不大。 08/21 09:29 : → Schelfaniel:好吧,反過來說好了 Java 的 default 出現率很低... 08/21 09:40 : → Schelfaniel:如果把 default 和 public 反過來 (default 要多打字) 08/21 09:42 : → Schelfaniel:這樣整體程式一口氣可以少掉一堆 public 看起來很簡潔 08/21 09:43 : → Schelfaniel:至少我覺得讓程式簡潔一點也沒什咩不對,當然你可以說 08/21 09:44 : → Schelfaniel:"Java這樣比較習慣"或是"讓新手知道要用public"之類的 08/21 09:46 : → Schelfaniel:如果要用Java,Java的規定就是要遵守,少打就是不行的 08/21 09:49 : 推 PsMonkey:請不要推文成章.... 08/21 11:20 對於這個觀點, 我個人是中立立場 :P 有些情況下, 能少打也不失為一件好事, 但少打幾個字簡潔些並不一定都是好處. 有些情況下, 是真的要 programmer explicitly 確認自己真的要做某些東西, 就算這些東西是最 常見的也好. 比如 C# 在 override 的時候要加上 override keyword (現在 java 也可以加 @Override 了, 不過相比之下 C# 的做法比較好), 雖然 99% 的情 況下, 你都是要override 的, 但萬一有一次, 你 其實是想建一個新 method, 怎麼不小心和 super class 的 method 同名了, compiler 就可以靠著 你少打這字提出 warning/error. 類似情況, 我在開發公司 framework 也有遇到, 有時 看來 "沒聲明" 的情況下, 給予某種 default 處理 好像很方便也理所當然, 但某些情況下的確會讓程式 的可讀性及可維護性變低. 有些情況下我還是覺得逼 developer 不斷 explicitly 聲明, 你不聲明我就當 你不需要比較好 public 要 explicit, 某程度我覺得是由 C++ 或其他 OOP 的做法帶過來, 但當初別人決定 public 雖然是最常用但還是要 explicitly 聲明, 很可能就 是因為他們覺得東西不該隨意給其他人看到, 除非你 真的想給別人看. 萬一有人是忘了給 accessibility modifier 而不是故意不給的話, 那東西就不該給其他 人看到, 所以 C++ 是當成 private, Java 可能因為覺 package 內或 child class 的都是 "自家人" 所以把 accessibilty 侷限在這. 當然, by default 是不是該讓所有人看到你的 member, 這個可以商榷, 我要帶出的是, 有時多打些字, 雖然寫 來有點煩悶, 看起來又有點累贅, 但有時這些累贅也是 有他存在的價值的. :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82 ※ 編輯: adrianshum 來自: 202.155.236.82 (08/21 12:03)

08/21 12:09, , 1F
這就是 Java 囉唆的好處阿... [握拳]
08/21 12:09, 1F

08/21 12:09, , 2F
不囉唆的話,我就不寫 Java 啦...... [淚奔]
08/21 12:09, 2F
文章代碼(AID): #1AZXlhI8 (java)
討論串 (同標題文章)
文章代碼(AID): #1AZXlhI8 (java)