Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iter25 #26

Merged
merged 7 commits into from
Jun 10, 2024
Merged

Iter25 #26

merged 7 commits into from
Jun 10, 2024

Conversation

vindosVP
Copy link
Owner

@vindosVP vindosVP commented Jun 2, 2024

No description provided.

Copy link

@Bazys Bazys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

есть несколько вопросов

return nil, fmt.Errorf("failed to create database storage: %w", err)
}
return s, nil
} else {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Использование else после return в блоке if избыточно. Потому что если условие в if истинно, функция завершится и вернёт значение на этом этапе, и выполнение кода дальше не пойдет. Это значит, что все, что находится в else, будет выполнено только если условие if не истинно, и нет нужды явно оборачивать этот код в else. Таким образом, код становится проще и уменьшается его вложенность, что облегчает его чтение и понимание. Поэтому вместо твоего варианта типа:

if условие {
    return что-то
} else {
    // другой код
}

Можно написать кратко:

if условие {
    return что-то
}
// другой код

Доп. ссылки:

  1. Effective Go
  2. Uber Go Style Guide
  3. Code Health: Reduce Nesting, Reduce Complexity

logger.Log.Fatal("failed to get encryption key", zap.Error(err))
var s Sender
if !cfg.UseRPC {
var key *rsa.PublicKey = nil
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

сылочный тип инициализируется как nil
присваивание лишнее.

delay := retryDelays[n]
return delay
}),
retry.OnRetry(func(n uint, err error) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Параметр функции, названный err, не используется в теле функции. В Go, если определили параметр в функции, но не использовали его внутри, это считается неоптимальным стилем, поскольку параметр занимает место в сигнатуре функции и может сбивать с толку при чтении кода.
В данном случае, есть два возможных решения:

  1. Удаление параметра: Если параметр err действительно не нужен для работы функции, его можно просто удалить из сигнатуры функции. Это делает код чище и проще для понимания.
  2. Переименование в _: Если параметр не используется, но его наличие обязательно по какой-то причине (например, для соответствия интерфейсу или для использования в будущем), его можно переименовать в _. В Go, символ _ используется для игнорирования переменной. Переменные, именованные как _, не обязаны быть использованы, т.е. не будет копирования неиспользуемого значения внутрь функции. Это позволяет сохранить сигнатуру функции неизменной, но явно указывает на то, что данный параметр в настоящее время не используется и избежать лишнего использования памяти.

@vindosVP vindosVP merged commit 77e851d into main Jun 10, 2024
3 checks passed
@vindosVP vindosVP deleted the iter25 branch June 10, 2024 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants