Глава 8. Раскрытие выражений 181

ясными и понятными. Если имя не описывает функциональность, тогда ее следует развернуто осветить в комментариях. Эффект от столь небольшой перемены в вашем стиле или в имеющихся разработках скажется на удобстве сопровождения ваших программ.

Упрощение булевой алгебры с помощью группировки скобками

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

int а= 5 + b;

но если задействовать даже простые операции в сложных выражениях или использовать в них булевы, поразрядные или логические операции, то все становится гораздо сложнее.

Вместо того чтобы обратиться к ARM или документации Borland C++, пользуйтесь испытанным методом — методом установки скобок в операторах. Золотое правило в данном случае — при использовании более одной-двух операций для ясности следует заключать промежуточные выражения в скобки.

Вам могут встретиться и программы без комментариев, и программы, авторы которых явно рассчитывают, что приоритеты операций всем знакомы наизусть. На какие-то операции мы привыкли полагаться еще с детства и на них такой подход распространим, но некоторые из них (или даже действия, которые они выполняют) могут содержать новые идеи. Если вы натолкнулись на выражение, в котором все операции перемешаны, проверьте, нет ли к нему комментариев, и попробуйте для ясности использовать скобки.

К сожалению, вы можете оказаться в самом незавидном положении при попытке расшифровывать такие выражения, так как ошибки в них — самое рядовое дело. В табл. 8.1 приведены сгруппированные в соответствии со своим приоритетом операции. Наибольший приоритет у операций в начале таблицы.

h01811.jpg

Обозначение

Название

1 Синтаксис

: :

: :

разрешение области видимости

глобальное имя

имя класса::элемент : :имя