看板 java 關於我們 聯絡資訊
大家好,我是 Java 新手。 我在寫 Android 專案時遇到一種情況: 如果有五個按鈕,內容分別為以下 【 精華公佈欄 】 【 我 的 最愛 】 【 分組討論區 】 【 私人信件區 】 【 休閒聊天區 】 然後 code 這樣寫 Button[] button = new Button [5]; button[0] = ...; button[1] = ...; ... button[4] = ...; 這時候會有可讀性和易維護性的問題,例如想在最開頭加上一個新的按鈕 【 個人設定區 】 那後面的 button 下標就要全部往後移了。 以前寫 C++ 的經驗是,使用 enum 並且直接指定一個常數 例如 enum e_Button { ANNOUNCE = 0, FAVORITE, ... }; 之後就可以使用 button[ANNOUNCE] 來取代 index 但是 Java 的 enum 似乎沒這麼簡單... 如果要取值可能還要用 value 之類的 method 我想的到的方法大概要在 [] 裡 call method,補上參數就長長一條, 這樣可讀性反而又更差了..... 重構下去大概會被組員罵死吧 XD 剛好找不太到有人遇過這種問題, 想請教一下大家是如何解決的? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.60.254.27 ※ 編輯: AnyaAlstreim 來自: 61.60.254.27 (12/06 01:32)
cyberwizard:可讀性看寫法而定 http://goo.gl/KjyhxE 12/06 04:32
danny8376:每個button各自有變數名不行嗎? 12/06 06:15
AnyaAlstreim:樓上,可以。 12/06 10:42
AnyaAlstreim:我也沒有寫 Android 經驗,這樣寫不好嗎? 12/06 10:46
PsMonkey:扯到可讀性,基本上就跟平台沒關係了 Zzzz 12/06 11:26
AnyaAlstreim:樓上..... http://goo.gl/Q7AagW 12/06 12:10
danny8376:原PO 那是大型Project 所以有自己整個的習慣 12/06 12:38
danny8376:至於獨立變數怎看都和你需求啊... 12/06 12:40
danny8376:除非需要foreach所有button 不然用Array本身可讀性... 12/06 12:41
AnyaAlstreim:謝謝樓上,那我就不用 Array 了 12/06 13:16
tkcn:贊成 danny8376, 但若需要 foreach 我會用 HashMap 搭 Enum 12/06 13:35
AnyaAlstreim:這樣來看似乎比 C++ 的 enum 還麻煩阿... 12/06 14:16
Chikei:http://bit.ly/18jypRF 12/10 14:01
AnyaAlstreim:樓上,這種東西我當然找過。 12/14 00:50