java开发中准则怎么写_Java开发中通用的方法和准则20条
1. 不要在常量和變量中出現易混淆的字母
包名全小寫、類名首字母全大寫、常量全部大寫并下劃線分割、變量采用駝峰命名等,這些是最基本的Java編碼規范。
public class TestDemo {
public static void main(String[] args) {
long i = 1l;
System.out.println("i的兩倍是:" + (i+i)); //2
}
}
字母 "l" 作為長整型標志時,務必大寫!
2. 不要讓常量變成變量
public class TestDemo {
public static void main(String[] args) {
System.out.println("這次常量值是:" + Const.RAND_CONST); // 每次運行值不一樣
}
}
interface Const {
public static final int RAND_CONST = new Random().nextInt();
}
務必讓常量的值在運行期保持不變。
3. 三元操作符的類型必須一致
public class TestDemo {
public static void main(String[] args) {
int i = 80;
String s1 = String.valueOf(i < 100 ? 90 : 100);
String s2 = String.valueOf(i < 100 ? 90 : 100.0);
System.out.println(s1 + " " + s2); // 90 90.0
System.out.println("兩者是否相等:" + s1.equals(s2)); // false
}
}
保證三元操作符中的兩個操作數類型一致,即可減少諸多可能錯誤的發生。
4. 避免帶有變長參數的方法重載
public class TestDemo {
public static void main(String[] args) {
Client client = new Client();
// 499元的貨物,75折 == 374.25
client.calPrice(49900, 75); // 簡單折扣的價格:374.25
}
}
class Client{
public void calPrice(int price, int discount) {
float knockdownPrice = price * discount / 100.0F;
System.out.println("簡單折扣的價格:" + formateCurrency(knockdownPrice));
}
public void calPrice(int price, int... discounts) {
float knockdownPrice = price;
for (int i : discounts) {
knockdownPrice = knockdownPrice * i / 100;
}
System.out.println("復雜折扣的價格:" + formateCurrency(knockdownPrice));
}
// 格式化貨幣形式
private String formateCurrency(float price) {
return NumberFormat.getCurrencyInstance().format(price/100);
}
}
避免帶有變長參數的方法重載,以免陷入某些傷腦筋的小陷阱里。
5. 別讓 null 值和空值威脅到變長方法
public class TestDemo {
public static void main(String[] args) {
TestDemo t = new TestDemo();
String[] ss = null;
t.m1("china", ss); // 此處可以編譯過
t.m1("aaa", 0);
t.m1("china", "people");
t.m1("china", null); // 此處編譯不過,為何?
}
public void m1(String s, Integer... is) {
System.out.println("111");
}
public void m1(String s, String... strs) {
System.out.println("222");
}
}
null值對于可變長參數來說,需要確保讓編譯器知道其類型,否則會有編譯報錯。
6. 重寫變長方法也循規蹈矩
public class TestDemo {
public static void main(String[] args) {
Base b = new Sub();
b.fun(100, 50);
Sub sub = new Sub();
sub.fun(100, 50); // 報錯!!!
}
}
class Base {
void fun(int p, int... d) {
}
}
class Sub extends Base {
void fun(int p, int[] d) {
}
}
重寫的方法參數與父類相同,不僅僅是類型、數量,還需要包括顯示形式。
7. 警惕自增的陷阱
public class TestDemo {
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 10; i++) {
count = count++;
}
System.out.println("count=" + count); // 0
}
}
后++的操作,賦值時,會先取值,后運算++。因此避免同時++時賦值的操作。
8. 不要讓舊語法困擾你
public class TestDemo {
public static void main(String[] args) {
int f = 200;
saveDefault:save(f); // 編譯不報錯,輸出 200
}
static void saveDefault() { }
static void save(int fee) {
System.out.println(fee);
}
}
可讀性優先,舊的語法縱然不報錯,也得讓它隨風去吧...
未完待續...
總結
以上是生活随笔為你收集整理的java开发中准则怎么写_Java开发中通用的方法和准则20条的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 英语四级答题技巧?掌握这7个答题技巧轻松
 - 下一篇: 嘴角有皱纹怎么办 4招还你灿烂笑容