У меня есть системасобытия на основе связи, и это упрощенный вариант этого:Является ли использование этой «функции сокращения» хорошей практикой?
класса А: содержит элементы, полученные из класса B
Класс B: имеет указатель на его собственник А
Так что, когда B хочет общаться с другими Bs, он называет в Broadcast() метод:
- m_owner-> Broadcast();
Но мне было интересно:
- Должен ли я сделать метод защищенной Broadcast() для B, который только это:
- m_owner-> Broadcast();
Плюсы:
Вместо m_owner-> Broadcast() я могу написать только Broadcast()
- это делает чистый код.
Минусы:
Там будет +1 функция вызова в процедуре.
- Но этого можно избежать, сделав метод INLINE
Это хорошая практика? Почему да, а почему нет?
Я думаю, что это будет закрыто, поскольку «в основном основанное мнение». Лично я бы добавил метод. Когда читаешь, это намного меньше. (Хотя я бы подумал сделать его защищенным, а не частным.) –
@MartinBonner о да, это опечатка, спасибо. Если он будет закрыт, это означает, что ответ основан на чисто мнениях. Это означает, что я могу использовать то, что я хочу, и он не имеет побочных эффектов. Но, возможно, я ошибаюсь. – Tudvari
@Tudvari Если вас беспокоит дополнительный вызов функции, я предлагаю вам скомпилировать и проверить сборку. Оптимизаторы в настоящее время действительно неплохие, и это может просто оптимизировать дополнительный звонок. – NathanOliver