Как использовать префикс «find» против префикса «get»?

Придя из мира, где «find» и «get» используются (были) взаимозаменяемо, я обнаружил, что смотрю на кусок кода более 10 минут, не в состоянии решить, как действовать дальше.

Я знаю, что именование — одна из самых сложных задач в программировании, однако мне кажется, что в данном конкретном случае должно существовать неписаное правило, как мы должны давать префикс методу.

Чтобы быть более конкретным, предположим, что мы хотим получить пользователя из БД по его ID.

    public async getOneById(id: number): Promise<User> {
        const user = await this.userRepository
            .createQueryBuilder("u")
            .where("u.id = :id", {id})
            .getOne();

        if (!user)
            throw new Error(`User with ID "${id.toString()}" not found.`);

        return user;
    }
Войти в полноэкранный режим Выйти из полноэкранного режима

Этот же метод можно использовать для возврата null в случае, если пользователь не найден:

    public async findOneById(id: number): Promise<User | null> {
        return await this.userRepository
            .createQueryBuilder("u")
            .where("u.id = :id", {id})
            .getOne();
    }
Войти в полноэкранный режим Выход из полноэкранного режима

Я пытаюсь решить, предпочесть ли мне вышеприведенный вариант или поменять местами find и get.

Я не знаю, есть ли какой-то «стандарт», мне не удалось найти ничего убедительного.

Что вы думаете? Применяется ли / должна ли применяться одна и та же конвенция независимо от языка программирования?

Оцените статью
Procodings.ru
Добавить комментарий