发表于: 2018-09-17 23:55:10

1 418


今日完成:

一、帮前端找bug调样式

当妈一样在后面盯着。。。没什么好说的


二、demo

其他人bug就不说了,主要说一下自己的两个问题,

一个是参数校验只校验了空,没有校验负数,虽然填了负数也不影响查找,但是做一下可能更好一点,毕竟是不可能为负数的,类似这种校验

if ((rpo.getLendDeadlineMin()!=null&&rpo.getLendDeadlineMin()<0)||(rpo.getLendDeadlineMax()!=null&&rpo.getLendDeadlineMax()<0)){
throw new MyException(-1,"出借期限请勿输入负数");
}
if(rpo.getLendMoneyMin()!=null){
BigDecimal lendMoneyMinB=new BigDecimal(rpo.getLendMoneyMin());

if(lendMoneyMinB.compareTo(new BigDecimal("0"))<0){
throw new MyException(-1,"出借金额请勿输入负数");
}
}
if(rpo.getLendMoneyMax()!=null){
BigDecimal lendMoneyMaxB=new BigDecimal(rpo.getLendMoneyMax());
if(lendMoneyMaxB.compareTo(new BigDecimal("0"))<0){
throw new MyException(-1,"出借金额请勿输入负数");
}
}

一个是新手礼包那里出了问题,排查之后发现是因为之前的注册完没有加入是否购买新手礼的状态,所以首先在注册的代码里加上一个原始状态的设置代码

user1.setIsNew(User.IS_NEW_NOT);
user1.setRealStatus(User.REAL_STATUS_NOT);

然后在判断是否买过新手礼包的地方加个空值判断

if (isNew==null){
isNew=0;
}
if (isNew==1) {
throw new MyException(10040"已购买过新手礼");
}

之前没有加上面那个判断,注册也没设定默认值所以就导致出现了空指针,现在

测试了一下,现在没有问题了

至此,发现的bug就改完了,还是之前自己的自检不到位导致的。


二、学习阿里的java开发手册

这本书还是不错的,相比pdf,里面多了一些强制推荐参考这个等级,而且是彩色版,看起来蛮舒服的。

下面列举一些我自己做的不好的地方

1.【推荐】if/for单行语句必须加大括号,因为单行语句的写法,容易在i俺家逻辑时引起视觉上的错误判断。此外,if不加大括号还会有局部变量作用于的问题。

2.【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾,测试类命名以它要测试的类名开始,以Test结尾。

3.【强制】POJO类中布尔类型的变量都不要加is前缀,否则部分框架解析会引起序列化错误——定义为基本数据类型Boolean isDeleted;的属性,它的方法名称也是isDeleted(),RPC框架在反向解析的时候,“误以为”对应的属性名称是deleted,导致属性获取不到抛出异常。

4.【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类命如果有负数含义,则类命可以使用复数形式。

5.【参考】各层命名规约:

1)Service/DAO层方法命名规范如下

获取单个对象的方法用get作为前缀;

获取多个对象的方法用list作为前缀;

获取统计值的方法用count作为前缀;

插入的方法用sava/insert作为前缀;

删除的方法用remove/delete作为前缀;

修改的方法用update作为前缀;

2)领域模型命名规范如下:

数据对象:xxxDO,xxx作为数据表名

数据传输对象:xxxDTO,xxx为业务领域相关的名称

展示对象:xxxVO,xxx一般为网页名称

POJO是DO/DTO/BO/VO的统称,禁止命名为xxxPOJO。


明日计划:

看面试题


遇到的困难


收获:

复盘基本完成



返回列表 返回列表
评论

    分享到