建议1
    包名全部小写     类名首字母全大写    常量全部大写并用下划线    变量采用驼峰命名法则
建议2 莫让常量蜕变成变量
    public class TestFinalVar {        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 TestThreeVar {    public static void main(String[] args) {        int i = 80;        String s = String.valueOf(i < 100 ? 90:100);        // 前后类型不一致        String s1 = String.valueOf(i < 100 ? 90:100.0);        System.out.println(s.equals(s1));        }    }
建议4 避免带有变长参数的方法重载
    import java.text.NumberFormat;    public class TestVar1 {        //         public void calPrice(int price, int discount) {            float knockdownPrice = price * discount / 100.0F;            System.out.println("111");            System.out.println(formateCurrency(knockdownPrice));        }        // 变长参数        public void calPrice(int price, int ... discounts) {            float knockdownPrice = price;            System.out.println("222");            for(int discount:discounts) {                knockdownPrice = knockdownPrice * discount / 100;            }            System.out.println(formateCurrency(knockdownPrice));        }        private String formateCurrency(float price) {            return NumberFormat.getCurrencyInstance().format(price/100);        }        public static void main(String[] args) {            TestVar1 t = new TestVar1();            t.calPrice(48999, 75);        }    }
建议5 别让null值和空值威胁到变长方法
建议6 警惕自增的陷阱
    public class TestPP {    public static void main(String[] args) {            int count = 0;            for ( int i = 0; i < 10; i++ ) {                // 自增值为0                count = count++;            }            System.out.println(count);        }    }
建议7 少用静态导入
    对于静态导入,一定要遵循两个规则    1.不使用*(星号)通配符,除非是导入静态常量类    2.方法名是具体明确,清晰表象意义的工具类
建议8 不要在本类中覆盖静态导入的变量和方法
最短路径 原则:    如果能够在本类中查找到的变量,常量,方法,就不会到其他包或父类,接口查找,以确保类中的属性,方法优先
建议9 养成良好习惯,显示声明UID
序列化 反序列化--显示声明serialVersionUID可以避免对象不一致,但尽量不要以这种方式向JVM"撒谎"
建议10 避免用序列化类在构造函数中为不变量赋值
在序列化类中,不使用构造函数为final变量赋值