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

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

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

27 ответов

10 просмотров

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...

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

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта