170 похожих чатов

Уже не первый раз сталкиваюсь с такой проблемой: Есть структура emailsManager,

я ее инициализирую и присваиваю переменной. Как правильно назвать эту переменную? Хочется назвать так же emailsManager, но так нельзя сделать. Всякие сокращение eManager не очень явно выглядят. Как вы поступаете в таких случаях?

27 ответов

12 просмотров

em

Дэни-Па Автор вопроса
Roman Timofeev
em

Это тоже не явное название, встретив такое в коде я задумаюсь что же это такое.

Дэни Па
Это тоже не явное название, встретив такое в коде ...

Для локального скоупа сойдет. Если у вас функции конечно не сотни строк

Дэни-Па Автор вопроса
S
Для локального скоупа сойдет. Если у вас функции к...

У меня функция, которая используется во всем коде программы в разных пакетах

Дэни Па
У меня функция, которая используется во всем коде ...

Да и пожалуйста. Это же внутренняя переменная

Дэни Па
Это тоже не явное название, встретив такое в коде ...

func (um *UserManager) Add(ctx context.Context, u *User) error { return um.userRepo.Add(ctx, u) } Зачем тут длинные имена?

Дэни-Па Автор вопроса
Roman Timofeev
func (um *UserManager) Add(ctx context.Context, u ...

Тут не за чем. Но это не мой вариант. У меня сложность при инициализации. emailManager = new(emailManagerStruct)Но я решил проблему добавлением struct к названиям всех структур

Дэни Па
Тут не за чем. Но это не мой вариант. У меня сложн...

new лишь выделит память, инициализации полей структуры не будет.

Дэни Па
Тут не за чем. Но это не мой вариант. У меня сложн...

Прям всех структур? Ну ок, но это плохой стиль)

Дэни-Па Автор вопроса
Roman Timofeev
new лишь выделит память, инициализации полей струк...

Это лишь один пример. Есть места где я делаю через, сути это не меняет. emailManager = &emailManagerStruct{ username: "username", password: "password", }

Дэни Па
Это лишь один пример. Есть места где я делаю через...

``` emailManager = &tEmailManager{ username: "username", password: "password", } ```

Дэни-Па Автор вопроса
Roman Timofeev
А что у вас эти менеджеры делают?

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

Дэни-Па Автор вопроса
Стопосто
``` emailManager = &tEmailManager{ username: "...

Как вариант, но мне такой синтаксис не особо близок. Этот вариант чем-то лучше чем постфикс struct? Или только лишь кому как нравится?

Дэни-Па Автор вопроса
Roman Timofeev
а emailManager не зависит от logManager? ;)

emailManager может использовать logManager, если надо будет залогировать неуспешную отправку письма. А logManager может использовать emailManager, если ему понадобится отправить письмо.

Дэни Па
Как вариант, но мне такой синтаксис не особо близо...

Если это либа или тула для внутреннего пользования - называйте как нравится) если на люди выкладывать собираетесь - стоит ещё раз подумать

Дэни-Па Автор вопроса
Aleksei Olshanskiy
Если это либа или тула для внутреннего пользования...

Это к вопросу о выборе между префиксом t и постфиксом struct? Или тут в целом стоит задуматься об изменении концепции менеджеров?

Дэни Па
emailManager может использовать logManager, если н...

А как вы преодолеваете циклические импорты?

Дэни Па
Это к вопросу о выборе между префиксом t и постфик...

если внутренний проект как хочется \ как привыкли так и называете. Внешний будет либа.Тип, там без префиксов суффиксов все ясно по либе

Дэни-Па Автор вопроса
Roman Timofeev
А как вы преодолеваете циклические импорты?

Это когда в logManager и emailManager импортируют одно и то же?

Дэни Па
Это к вопросу о выборе между префиксом t и постфик...

Скорее второе. Если появляется куча однотипных имён lalaSuffix, blahSuffix, kekSuffix, то возможно стоит подумать о том чтоб завести пакет suffix и звать объекты оттуда. Но тут на усмотрение уже, я кода не видел и вслепую советовать плохая практика

Дэни Па
Это когда в logManager и emailManager импортируют ...

когда logManager импортирует emailManager, а emailManager - logManager

Дэни-Па Автор вопроса
Roman Timofeev
когда logManager импортирует emailManager, а email...

Сейчас это все внутри одного общего пакета, они не вынесены в отдельные либы. Хотя сейчас стал думать об этом, т.к. они в будущем могут понадобиться и в других проектах.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта