• Java高级规范之四


    四十一、控制层不能调用model层除了最顶级的接口外的任何内容。要通过new顶级接口才能调用。

    不规范示例:

      public class UserServiceImpl{

        private UserDAOImpl userDAOImpl;

        private UserServiceImpl(){

          userDAOImpl = new UserDAOImpl();

        }

        public void deleteById(Long id){

          userDAOImpl.deleteById(id);

        }

      }

    规范示例:

      public class UserServiceImpl{

        private UserDAO userDAO;

        private UserServiceImpl(){

          userDAO = DAOFactory.getUserDAO();

        }

        public void deleteById(Long id){

          userDAO.deleteById(id);

        }

      }

    解析:这样做不仅是为了程序的灵活着想,更是为了使代码的层次结构清晰明了。

    四十二、返回类型尽量是父类接口或是抽象类,例如:要取得一个arrayList<User>对象,则返回类型要用List<User>。

    不规范示例:

      //返回一个只能是保存User对象元素的list

      public ArrayList query(){

      ArrayList arraylist=new ArrayList();

      ..................................

      return arrayList;

      }

    规范示例:

      public List query(){

      List list=new ArrayList();

      ..................................

      return List;

      }

    四十三、SQL程序里命名要注意,不能把关键词作为属性。

    不规范示例:

      create tableName{

      id bigint primary key,

      describe varchar(20)

      }

    规范示例:

      create tableName{

      id bigint not null primary key,

      classDescribe varchar(20)

      }

    解析:SQL语句里的字段名为关键字时,执行时可能会出现问题,出错了很难找,所以在开始的时候就要注意。

    四十四、使用try...catch时,一定要捕获且打印异常

    不规范示例:

      try{

      //代码块

      }catch(Exception e){

      }

    规范示例:

      try{

      //代码块

      }catch(Exception e){

        e.printStackTrace();

      }

    解析:如果程序出现了异常,而catch块又没有任何错误输出,那么你的程序将永远不会报错,就无法发现错误,但是你的程序总是有问题,但又很难发现错误在哪里

    四十五、当能够用工厂实例化对象的时候不要用构造器生成对象,要用工厂方法去代替。

    不规范示例:

      UserDAO userDAO= new UserDAOImpl();

    规范示例:

      UserDAO userDAO = DAOFactory.getUserDAO();

    解析:为了程序扩展性考虑,当构造器里的结构改变的时候,比如说增加一个参数,可能会因为系统过于庞大而忘记了修改,而用工厂模式可以一劳永逸。

    四十六、属性不能成为一个类,也不能成为一个函数名。

    不规范示例:

      public class Name{

        public void sex(){

        //方法体

        }

      }

    规范示例:

      public class Person{

        public void addPerson(){

        //方法体

        }

      }

    解析:对象的属性只能作为属性,不能单独做一个类

    四十七、如果一个方法的返回值是用来做判断的,返回值最好不要用字符串,要用int等基本类型。

    不规范示例:

      //比如说修改后要提示修改成功

      public String updateUser(User user){

        ...................................

        if(true){

          //成功

          return "修改成功";

        }else{

            //失败

        return "修改失败";

        }

      }

    规范示例:

      public String updateUser(User user){

        ...................................

        if(true){

          //成功

          return 1;

        }else{

          //失败

          return 0;

        }

      }

    解析:因为字符串容易引发潜在的错误,比如失误的操作使得字符串多了个空格等等。

    四十八、在eclipse中,一次启动的工程最好不要超过两个以上。

    不可取的操作: 在tomcat中一次加载多个(两个以上)工程

    正确的操作: 加载的工程最多不要超过两个,关闭不用的工程

    解析:启动多了占用资源,出错了检查也不方便,也容易起冲突

    四十九、在eclipse等IDE中的编码格式要统一,比如同一使用UTF-8或GBK,存储数据和读取数据统一为GBK或UTF-8。

    不规范示例:暂无

    规范示例:暂无

    解析:避免因字符集的不同出现乱码现象。

    五十、工程的保存路径不能为空格、中文和特殊字符。

    不可取路径:E:studytools安装my toolseclipse

    正确的路径:E:studdytoolsinstalledmytoolseclipse

    解析:如果出现此类状况,会影响一些工具的应用,影响程序的运行。

  • 相关阅读:
    HTML自学之旅(九)框架
    暑期逛世博 品文化新上海
    重构实践者手记(20130517)
    网页信息抓取DEMO
    正则表达式30分钟入门教程
    变量命名网站
    Thinkpad笔记本电脑进入BIOS不能选择UEFI/Legacy Boot选项
    Useful Expressions Business Correspondence
    DotNetNuke升级中遇到的问题
    DNN端口的问题
  • 原文地址:https://www.cnblogs.com/amirsterry/p/3761995.html
Copyright © 2020-2023  润新知