【个人】关于JAVA项目开发中一些小的注意事项

(1)如果方法中抛出异常,异常对象这儿用e标识,注意:log是日志打印对象。

        禁止 简单地e.printStackTrace();

       建议:log.info(e.printStackTrace());或throw e;

       一定要记录下来或抛给上级。

(2)项目中坚决反对 system.out.println();因为性能会比较低,建议用log.info()记录打印。

 (3) 项目中包括类或方法 若定义了一些变量,但一直未被使用,最好删除无用的变量。

(4)项目中废弃的代码建议删除。

(5)定义BigDecimal对象值。

      禁止:BigDecimal bd1 = new BigDecimal(123.45);

     建议:BigDecimal bd1=BigDecimal.valueOf(100.56);

(6)多线程启用,建议用start(),禁用run();

(7)字符串比较时,尤其是变量与常量比较时:

         禁止:String str="123456";

                  str.equals("123456");

         建议:"123456".equals(str);

                  因为str有可能为空。

(8)循环时

      禁止:

         int k = 0;
        for(Iterator<String> it = newValue.keySet().iterator(),it.hasNext(),k++){

        };

     建议:

      int k=0;

        Iterator<String> it = newValue.keySet().iterator(),

           while(it.hasNext()){

              k++;

          }

 

(9)集合判断是否为空

    禁止:

          List list=new ArrayList();

           if(list!=null && list.size()>0){

          }

  建议:

            List list=new ArrayList();

           if(!list.isEmpty()){

          }

(10) 禁止类中全局变量与方法中局部变量重名。

(11) 灵活运用 线程安全与不安全变量。

  • ArrayList(不安全) or LinkedList(不安全)    Vector(安全)
  • HashMap(不安全) Hashtable(安全)
  • StringBuilder(不安全)  StringBuffer(安全)
  • 注意:不安全的效率高,安全的效率低。

(12) 类中的变量名若为public,最好改为private 类型,通过其set,get方法来获取变量名和为其赋值。

(13)类中无用的引用包建以删除。不用说你也懂得。

(14)常量变量名建议用大写表示。

     禁用:public static fianl String status="123";

   建议:public static final String STATUS="123";

(15)代码中的注释最好加上,为了你,也为了后来的小伙伴,我就不说了。

(16)类名、方法名、变量名建议起名符合'^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'

(17)声明数组

禁止:String str[];

建议:String []str;

(18)书写代码。

       禁止:if(){};

     建议:if(){

              代码
             }

(19)定义变量或方法时,关键字顺序:

    1. Annotations

    2. public

    3. protected

    4. private

    5. abstract

   6. static

   7. final

   8. transient

   9. volatile

   10. synchronized

   11. native

   12. strictfp

  禁止:private final static STR="123";

建议:   private static final STR="123";

(20)double,float禁止与int类型比较。

        禁止:double d=123.45

               if(d==0){

              }

 (21)代码中标识为@Deprecated的方法要删除。

(22)系统代码中有Myeclipse自动生成的@TODO标识最好也删除。

 

 

(其它) 首先是去掉重复计算,避免不必要的io,

        重构并解耦代码,尽量减少同步锁。因为有锁就有可能等待,等待就等于慢。

      把相关性强的东西组合到一个类里面。因为CPU访问内存的时候,会先找L1 L2等缓存,再找内存。而读取内存的时候,不会只读取那一个变量,而会读取那个变量附近的东西。如果你把相关性强的东西放在一个类,意味着缓存命中的概率更高。

posted @ 2015-12-28 17:09  IT一族  阅读(321)  评论(0编辑  收藏  举报