作者tnsshnews (tnsshnews)
看板java
標題[J2SE] 變數命名與coding style問題
時間Fri Aug 21 09:36:53 2015
Dear all,
有幾個關於變數宣告的問題想請教一下,
1. global的變數在class最開頭的地方宣告完之後, 要馬上給予初始值嗎?
還是一率都在constructor給呢? 好處跟差別會是什麼呢?
e.g
public class Test {
public static boolean xxxx = true;
public List<String> yyyy = new ArrayList<String>();
public Set<Integer> zzzz = new HashSet<Integer>();
.....
2. 如果在一個method裡面, 有多個變數要宣告, 但宣告完之後又要做一些處理,
那是要把宣告通通集中在最前面, 後面在一個一個處理, 還是宣告一個處理一個,
在宣告一個, 在處理一個呢?
e.g
public void test(){
AAA aaa = new AAA();
aaa.setxxx...
aaa....
BBB bbb = new BBB();
bbb.setxxx...
bbb....
...
}
3. class的global變數一率都用private還是public好呢? 看到很多人都會用private,
然後再用get/set去設定值還有取值, 不知這是一種好習慣還是有什麼考量呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.204.165
※ 文章網址: https://www.ptt.cc/bbs/java/M.1440121015.A.0F3.html
→ ssccg: 1 不同ctor、不同參數會不同的留著,其他就先給初值了 08/21 10:06
推 haha02: 直接給值編完還是幫你搬到constructor裡呼叫super()完之後 08/21 11:45
→ yyc1217: 2 宣告時離處理的地方越近越好 08/21 12:50
推 LPH66: 3.private/public 的考量不在於全域, 在於要不要外面直接改 08/21 16:43
→ LPH66: 不給直接改的 (例如有一些內部條件要保持) 一定要 private 08/21 16:43
→ LPH66: s/要不要外面/要不要讓外面/ 08/21 16:44
→ LPH66: 那基本上由於物件的封裝性, 大部份東西都會是不給直接改的 08/21 16:45
→ LPH66: 就算多少可以的一般習慣上也不會直接開放 08/21 16:46
→ marsyang1: 可以參考google coding style 08/29 12:51