Глава 5. Соглашения об именах и комментариях______________________725
Очевидно, функция все еще слегка перегружена комментариями (но исключительно в учебных целях). Однако заметьте, как венгерская нотация позволяет вам с первого взгляда определить тип любой переменной и как бросаются в глаза константы, выделенные по совету Zinc Application Framework заглавными буквами.
Возможны разные точки зрения на то, является ли эта функция самодокументированной. Одни считают, что венгерская нотация уводит в сторону от самодокументируемости, поскольку от ее идентификаторов рябит в глазах (что, разумеется, раздражает). Другим же, напротив, идентификаторы, несущие информацию о типах данных, необходимы как воздух. Начинающим программистам низкоуровневые операции с указателями в приведенном фрагменте могут быть просто в принципе непонятны. Если вы относитесь к этой категории, то потерпите немного. Неважно, сколько труда вы вкладываете в имена своих переменных, если вас бесят значки типа ++, *, == и !=.
Экспериментируйте и ищите такой стиль имен и комментариев, который лучше всего подходит лично вам или вашей фирме. Всегда старайтесь сделать свои тексты как можно более ясными и понятными Для себя, и вы найдете свой собственный путь к самодокументируемым программам.
Далее...
Когда вы перейдете в следующих главах к изучению синтаксиса C++ и к еще более сложным темам, а также начнете прорабатывать примеры, всегда помните, что уместные комментарии и аккуратно выбранные имена действительно помогут вам сделать эти примеры легко читаемыми и понятными. Каких бы правил расстановки комментариев или присвоения имен вы ни придерживались — описанных здесь или, может быть, своих собственных — ваши усилия себя оправдают.
• Глава 6 "Базовые типы данных и операции" даст вам углубленное представление о типах данных С и C++. Вы также познакомитесь с операциями, которые тоже могут помочь упростить исходный текст ваших программ.
• Глава 9 "Описатели и спецификаторы данных" даст вам понятие о различных типах связей в C++. Вы поймете, откуда появляются некоторые конфликты имен функций при компоновке программ. Вас ожидает также более близкое знакомство с разновидностями глобальных переменных.
• В главе 10 "Написание выражений" вы познакомитесь с еще одним средством заставить ваш исходный код заговорить. Правильный выбор имен переменных в выражениях — это верный путь к самодокументируемому коду.