#514 Code Review of User Service

Companies:
Sberbank
Themes:
SpringTransactionsCode Review

Perform a code review:

class UserService {

    private UserRepository repo = new UserRepository();
    private RegionService regionService;

    public UserService(final ApplicationContext appCtx) {
        regionService = appCtx.getBean("regionService", RegionService.class);
    }

    public void processNewUsers(final List<User> users, String regionName) {
        ...
        users = createUsers(users);
        ...
        users.stream()
            .foreach(u -> regionService.updateRegionLink(u.getId(), regionName));
    }

    @Transactional
    public List<User> createUsers(final List<User> users) {
        return users.stream()
                .map(u -> repo.saveUser(u))
                .collect(Collectors.toList());
    }

    private User getUser(final int userId) {
        return repo.getUserById(userId);
    }
}

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in