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 tools\eclipse

正确的路径:E:\studdytools\installed\mytools\eclipse

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

Java高级规范之四,布布扣,bubuko.com

时间: 2024-10-14 19:38:43

Java高级规范之四的相关文章

Java高级规范之三

三十一.如果变量名要加注释,说明命名不是很准确. 不规范示例:暂无 规范实例:暂无 解析:暂无 三十二.任何类字段除非必要,否则都要私有化 不规范示例: public class Person{ String name; String sex; int age; } 规范示例: public class ClassName{ private String name; private String sex; private int age; } 解析:没有为程序的安全考虑,可以被其他的类访问 三十

java高级规范

一:不允许使用汉语拼音命名(类,接口,包,常量,全局变量,局部变量,临时变量,方法名) 欠规范代码示例: public void zengJiaYongHu(){} 拼音方法名称 规范代码示例: public void addUser(){} 解析:应当使用国际化语言,拼音使得代码难懂 二:Package名必须全部小写,尽量使用单个单词 欠规范代码示例: com.lxit.daoImpl 单词大写了,daoImpl多个单词 规范代码示例: com.lxit.dao.impl 解析:这是一个大家都

Java高级规范之二

二十一.提交java代码前应该检查是否有没用的语句,如:System.out.println(); jsp页面上面是否有alert调试信息 不规范示例:暂无 规范实例:暂无 解析:因为如果保留了有可能会影响到程序正常运行的结果,如: for(int i=0;i<10;i++){ System.out.println(i); } //如果测试for语句里有没有执行 for(int i=0;i<10;i++){ System.out.println("测试代码是否运行到这里")

java高级规范之一

一.不允许使用汉语拼音命名 不规范示例: public void zengjiaYongHu{}//拼音方法名称 规范示例: public void addUser(){} 解析:应该使用国际化语音,拼音使代码难懂 二.Package名称必须全部小写,尽量使用单个单词 不规范示例: com.Lxit.daoimpl 单词大写了,daolmpl多个单词 规范示例: com.lxit.dao.impl 解析:这是大家都认同的习惯写法,也是个默认的规范 三.局部变量及输入参数不要与类变量同名(get/

Java注释规范整理

在软件开发的过程中总是强调注释的规范,但是没有一个具体的标准进行说明,通常都是在代码编写规范中简单的描述几句,不能作为一个代码注释检查的标准和依据,做什么都要有一个依据吗:),现在我特整理了一个<Java的注释规范>,内容来自网络.书籍和自己的实际积累. JAVA注释规范 版本/状态 作者 版本日期 1.0 ghc 2008-07-02 一.背景 1.当我们第一次接触某段代码,但又被要求在极短的时间内有效地分析这段代码,我们需要什么样的注释信息? 2.怎么样避免我们的注释冗长而且凌乱不堪呢? 

标准的Java编码规范手册

编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题.今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助. 编码规范的意义 在项目开发维护中,编码规范作为开发规范的一个组成部分,是十分重要和必须的,它不仅仅是为了提高开发效率,也有利于降低后期维护开发的成本.编码规范的根本目的就是要让不仅代码可以一目了然,也可以很容易的理解开发人员所编写的代码程的用途和意义.由此,用来减少项目中因为开发维护人员的更替或由于长时间不维护造成的记忆模

点燃java高级架构师的成长之路!

作者:java高级进阶链接:https://www.nowcoder.com/discuss/72575来源:牛客网 金三银四跳槽旺季,每个人都想有一份高薪资,环境好,且稳定的工作,现在已经是四月份了,跳槽旺季还剩最后一个月,你们都准备好了么?你们吃饭的技术过硬么?你们准备好进名企了么?最主要的是,你们是一名资深架构师么?想成为架构师么?还是继续每天坚持加班的桥写代码??????这些问题,只有你们能明白且自己解决. 现在正是需要我们认真考虑的时候,要如何提高我们的编程能力,要怎样努力才可以成为一

转:成为Java高级程序员需要掌握哪些?

section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合.更高效,这些内容直接看源代码就OK了 2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机

怎么成为java高级架构师?图灵学院总结的java架构师学习路线

怎么成为一个java高级架构师呢?相信这是很多java从业者,又或者说是coder/码农们比较感兴趣的问题,要回答这个问题,首先需要明白的是java架构师是什么?简单点说,架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作.主要着眼于系统的"技术实现",工作内容就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员,并且需要有良好的组织管理能力.因此应该是特定的开发平台.语言.工具的大师,对常见应用场景能马上给出最