项目知识累计代码优化

				代驾  个人总结
1.项目创建时,创建的表如int 或者时间 ,要有个默认数据  
	String类型暂时还没有想好
2.在代码中的总结
	1)、 在展示数据的返回  可以尽量的设置成String类型进行返回数据展示 (date 在数据库中的类型) String也是可以展示的
	2)、代码一旦出现涉及WsBeanUtil.copyProperties 这种操作的时候 【数据持久层  --也就是查询数据库中的时候的操作】

最好不要使用包装类 {原因 如:: 数据库中是int 在返回数据类中的类型是Integer } 这个时候还要进行多一步操作
就是赋值判空操作 在copyProperties 这个操作的时候如果是“”不是null 的话会进行抛出异常
3)、代码的复用度
在写代码的初始时如果代码一但出现复用的情况尽量的去分离代码但是代码的粗细程度还没有想好怎样把握一旦
到后期再去优化代码就有可能造成其他人在使用你的方法的时候 这个时候去分离代码造成别人的功能受到影响。
4)、分页的使用
PageInfo 分页的使用的缺点
有点配置简单和使用简单
缺点
简单的查询可以进行分页操作 但是在复杂的查询中不能进行分操作没有 最后的总数据条数是错误的
还要重新写一个查询总的数据条数(如按分页查询之后再根据某一条件进行再去筛选条件,这时候的数据放到新的数组中 这个时候返回的分页查询的数据
是错误的)
解决方法::
还未实验
5)、git 的使用::根据有时候出现代码被覆盖或者出现已经提交的代码的再进行更新的时候新提交的代码被人进行移除的注意点
【1】最常见的一种情况是 团队中由于被人和自己使用同一类处理代码的逻辑的时候。。这个时候被人进行更新代码出现meger的时候要进行找谁提交的代码
进行询问冲突的代码是否符合需要。。如果需要再看代码的逻辑是否符合自己的业务逻辑 否 再重新命名一下就可以(一般出现冲突是命名或逻辑冲突)
【2】再提交的时候出现meger的时候 。。。。这个时候要注意了 一定是别人已经提交的代码自己没有更新 ,这个时候也不用再重新恢复未提交之前的代码
只需要更新一下就可以了 然后再进行提交代码 就不会出现代码覆盖或丢失的问题了
更新的方法有两种
/–1-/ 使用工具本身自带的按钮进行更新(有时候可能会不太好使 具体的原因没找)
/–2-/使用git命令进行更新
6)、自己粗心出现的严重失误总结
7)在项目中接收参数的类型不能使用包装类避免增加多余的操作(进行判空操作,或是判0操作)

------------------------万顺----项目中值的借鉴的代码

实例::: BaseListRpcVo baseListRpcVo = rpcMyToDoConsoleService.selectAndPage(queryParams);

if (baseListRpcVo.isSuccess() && ! baseListRpcVo.getListVo().isEmpty()) {
}---------------------》》》》》这样就可以判断 baseListRpcVo 查询的数据是否是有

其中isSuccess 中的代码是

public boolean isSuccess(){
return anwserCode.getCode() == BaseAnwserCode.SUCCESS.getCode();
}
其中BaseAnwserCode.SUCCESS.getCode();代码是::
public static final AnwserCode SUCCESS = new AnwserCode(1, “响应成功”);

其中AnwserCode 中的方法是

public AnwserCode(int code, String message) {
    this.code = code;
    this.message = message;
}

private  int code;
private  String message;

private static final long serialVersionUID = 1L;

万顺 项目代码的格式

	参数  AO   ----仅仅是参数  consoleApi  中的rpcAo   private static final long serialVersionUID = 4208599942145911235L; 
	参数类型是 --包装类

	转
	consoleImpl中的Po中没有反序列化
	转
	返回数据类  Vo   需要继承 BaseRpcVo (中有反序列化)参数类型是包装类
	WsBeanUtil.copyProperties(cityConfigAo, rpcChannelCityConfigAo【返回的类】);

--------------------------------------前期检查参数
if (ArrayUtils.isEmpty(cityConfigAo.getCityCodeList()) || cityConfigAo.getProfitStatus() == null) {
throw new BusinessException(BaseAnwserCode.ARGS_ERRORS);
}
----------------------可以借鉴
如果一个程序返回一个没有任何值的集合,请确保一个空集合的返回,而不是空元素。这样就不用去写一大堆的判断null元素

正确的做法是
List list =new ArrayList();
//判断如果是空的话 返回一个空的list
if(list.size()==0){
list=Collections.EMPTY_LIST; 或则 list=Collections.emptyList();
}
------------------------这样就可以返回一个lsize为0 的list 这样调用者就不用判断返回值是否为null

-----------------------------数组的循环可以使用system.arraycopy这个方法进行复制数组

---------------------------条件判断-----当只有两个条件的时候可以使用 二元表达式

return (isdone ? 0 : 10)

-----------------异步注解 @Async

代码 优化------相关的实例
1.不要在for循环中不断的创建对象
实例::
for(int i=0 ; i<=90;i++){
Student student =new Student();
}

代码改为

Student student=null;
for(int i =0 ; i<=90; i++){
student=new Student();
}

避免空指针异常::
	String str ="123";
	if(str.equals("123")){}

-----------------------改为
String str =“123”
fi((“123”).equals(str)){}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值