新手开发小细节

调用printStackTrace()

报告使用Throwable.printStackTrace()方法,这个方法通常是临时调试使用,在线上环境中应该去除,而使用日志机制代替。

catch(SQLException e) {   e.printStackTrace();  }
换成:
catch(SQLException e) {  log.error("sql error",e);  }

文件路径

比如说要在temp目录下建立一个test.txt文件,

  • 在Windows下应该这么写:
    File file1 = new File (“C:\tmp\test.txt”);
  • 在Linux下则是这样的:
    File file2 = new File ("/tmp/test.txt");

如果要考虑跨平台,则最好是这么写:

File myFile = new File("C:" + File.separator + "tmp"
				 + File.separator, "test.txt");

Mybatis参数

使用注解的方式绑定参数命名

public List<ContextPhoto> findByPage
	( @Param("start") Integer start, 
	  @Param("limit") Integer limit   );

各层命名规约:

  • Service/DAO 层方法命名规约
    a) 获取单个对象的方法用 get 做前缀。
    b) 获取多个对象的方法用 list 做前缀。
    c) 获取统计值的方法用 count 做前缀。
    d) 插入的方法用 save/insert 做前缀。
    e) 删除的方法用 remove/delete 做前缀。
    f) 修改的方法用 update 做前缀。

  • 领域模型命名规约
    a) 数据对象:xxxDO,xxx 即为数据表名。
    b) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
    c) 展示对象:xxxVO,xxx 一般为网页名称。
    d) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

  • 常量的复用层次有五层:
    a) 跨应用共享常量:放置在二方库中,通常是 client.jar 中的 constant 目录下。
    b) 应用内共享常量:放置在一方库中,通常是 modules 中的 constant 目录下。

      反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义了表示 “是”的变量:
      类 A 中:public static final String YES = "yes"; 
      类 B 中:public static final String YES = "y"; 
      
      A.YES.equals(B.YES),预期是 true,但实际返回为 false,导致线上问题。 
    

    c) 子工程内部共享常量:即在当前子工程的 constant 目录下。
    d) 包内共享常量:即在当前包下单独的 constant 目录下。
    e) 类内共享常量:直接在类内部 private static final 定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值