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