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