Я работаю над некоторым кодом на С++, где у меня есть несколько объектов менеджера с частными методами, такими как
void NotifyFooUpdated();
которые вызывают метод OnFooUpdated()
для слушателей этого объекта.
Обратите внимание, что они не изменяют состояние этого объекта, поэтому технически могут быть сделаны методы const
, даже если они обычно изменяют состояние системы в целом. В частности, объекты-слушатели могут вернуться к этому объекту и изменить его.
Лично я хотел бы оставить их такими, какие они есть, и не объявлять их const
.
Однако наша статическая проверка кода QAC обозначает это отклонение, поэтому я либо должен объявить их const
, либо я должен спорить, почему они должны оставаться непостоянными и получать грант для отклонения.
Что такое аргументы для не объявления этих методов const
?
Или я должен следовать QAC и объявлять их const
?
Должен ли я использовать строго локальную точку зрения, ограниченную этим объектом, или рассматривать систему в целом?