所以我有三种可能性,我提供真实的代码,因为枯燥的例子会导致对我的问题的误解
1 大软管方法 - 一条龙
return ItemDtoMapper.generateItemDtoFromItem(itemDao.saveItemAndReturn(ItemDtoMapper.generateItemFromItemDto(itemDto, UserDtoMapper.generateUserFromDto(userService.findByUserName(UserNameExtractor.getLoggedUser())))));
2 软管格式化 - 用括号打破
return ItemDtoMapper.generateItemDtoFromItem(
itemDao.saveItemAndReturn(
ItemDtoMapper.generateItemFromItemDto(itemDto, UserDtoMapper.generateUserFromDto(
userService.findByUserName(
UserNameExtractor.getLoggedUser())))));
3. 疯狂的对象创建 - 拆分显式对象的调用
UserDto userDto = userService.findByUserName(UserNameExtractor.getLoggedUser());
User user = UserDtoMapper.generateUserFromDto(userDto);
Item itemForSave = ItemDtoMapper.generateItemFromItemDto(itemDto, user);
Item itemForDao = itemDao.saveItemAndReturn(itemForSave);
return ItemDtoMapper.generateItemDtoFromItem(itemForDao);
我知道我的软件架构并不完美,但这个问题只是为了在这种情况下获得有关专业格式的最佳答案。