近期开发总结

来新公司也两月了,前段时间算是真正意义上做了些事儿了,主要做的是将以前的PHP项目重构为java项目。

说好听点是重构,其实就是翻译,一些简单的方法比较容易能看懂的倒是可以用偏向java的思路去写,但是遇到比较复杂的逻辑就没办法了,所以我和我的小伙伴选择了逐句翻译......

吐槽的也差不多了,趁着刚忙完记忆深,做一次总结

1、关于入参。PHP复杂一些的参数都是用array接,java可没有万能数组,所以一般都是打印PHP参数的数据接口,然后定义java这边参数类型,一般来说,PHP那边都是1,2,3,4这样的java就可以用Long[]数组姐,其他类似;如果PHP数组里面是多个字段组合的话,如果只有一个的话java这边可以自定义个VO去接,如果是多个该类型集合的话,那就转json吧,然后定义一个VO再转成该VO的list。基本入参就这样了,简单的好说,复杂的用VO,多的话就用json。

2、关于逻辑中的数据转换。由于PHP系统什么都能用array做到,但Java又是强类型语言,所以java在这块必须得将一些复杂的数据进行转换。比如:

取出对象list的某一个字段的集合

List<AreaInfoVO> allDirections = getAllDirections();//AreaInfoVO是一个包含long id 和 String name 的VO
List<Long> allDirectionIds = allDirections.stream().map(AreaInfoVO::getId).collect(Collectors.toList());//取出id这一项组成一个新的list

讲一个list按照数量进行分组

//将dataList按照50每组 进行分组
List<List<Long>> directionChunks = Lists.partition(allDirectionIds, 50);

还有一些比如list转map等等...

3、关于代码规范。一般来说注意几点代码基本就没什么太大问题了。驼峰命名、注释应该在代码上,List和Map尽量加泛型。

4、关于单元测试。单元测试尽可能的覆盖全,测试的入参可能出现的组合尽可能想全。

此次开发基本就这些总结了,后续相待再补上。一步一个脚印吧......

猜你喜欢

转载自blog.csdn.net/qq_39467629/article/details/80745472