Информация об изменениях

Сообщение Re[13]: Как изменить цвет кнопки? от 26.11.2019 12:03

Изменено 26.11.2019 12:05 Carc

Re[13]: Как изменить цвет кнопки?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Carc, Вы писали:


C>>Забыли указать const для нашего UINT.

C>>А потом порефакторили, изменили какой-абстрактный код вовне, который изменит эту переменную с забытой const.

ЕМ>Сдается мне, что Вы преувеличиваете степень риска. Особенностей синтаксиса/семантики, при которых проблема возникает только при "встречных" ошибках в двух и более местах, найдется немало. Если уж заранее применять меры против гипотетических ситуаций, порожденных подобными "встречными" ошибками, то нужно делать анализ синтаксиса, перечислять все возможные сочетания, и блокировать каждое.


Вообще то "const UINT=…" это изначально и есть "заранее применять меры против"… Только Ваш вариант это полумеры. enum эти задачи решает полностью…

И синтаксический анализ здесь не поможет. Ибо изначально с точки зрения синтаксиса, что с const, что без — все как раз корректно.
Re[13]: Как изменить цвет кнопки?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Carc, Вы писали:


C>>Забыли указать const для нашего UINT.

C>>А потом порефакторили, изменили какой-абстрактный код вовне, который изменит эту переменную с забытой const.

ЕМ>Сдается мне, что Вы преувеличиваете степень риска. Особенностей синтаксиса/семантики, при которых проблема возникает только при "встречных" ошибках в двух и более местах, найдется немало. Если уж заранее применять меры против гипотетических ситуаций, порожденных подобными "встречными" ошибками, то нужно делать анализ синтаксиса, перечислять все возможные сочетания, и блокировать каждое.


Вообще то "const UINT=…" это изначально и есть "заранее применять меры против"… Только Ваш вариант это полумеры. enum эти задачи решает полностью…

И синтаксический анализ здесь не поможет. Ибо изначально с точки зрения синтаксиса, что с const, что без — все как раз корректно.