Венгерская нотация

Венгерскую нотацию использует большинство разработчиков на С и C++ (включая и МSовцев). Эта система формирования имен создана сотрудником Microsoft Чарльзом Симони (Charles Simonyi). В начале 1980-х Microsoft приняла на вооружение систему, основа которой взята из докторской диссертации Симони "Meta-Programming: A Software Production Method" ("Мета-программирование: способ производства программного обеспечения").

Согласно венгерской нотации к имени переменной добавляется приставка, показывающая ее тип. Однако не каждый тип имеет свой стандартный префикс. Кроме того, появление новых языков и новых типов требует создания новых приставок. Поэтому немудрено, что со временем мы станем сталкиваться с префиксами, которые никогда нам раньше не встречались. (Между прочим, термин "Венгерская нотация" как бы показывает, что префиксы делают переменные такими, как будто они написаны на языке, отличном от английского; к тому же г-н Симонии родом из Венгрии.)

Возможно, наиболее важной публикацией, агитирующей в пользу венгерской нотации, была первая книга, которую прочитал почти каждый разработчик под Windows и OS/2. Это книга Чарльза Петцольда (Charles Petzold) "Programming Windows" (Microsoft Press), в которой один из диалектов венгерской нотации применяется во всех демонстрационных приложениях. Более того, и Microsoft пользуется этой системой обозначений в собственных разработках. С MFC родилась очередная серия специфичных для C++ префиксов, продлив жизнь венгерской нотации. Так почему бы и нам не продолжить применение венгерской нотации? Тем более что эта система обозначений удобна в ситуациях, где желательно знать тип и/или область видимости применяемой переменной. Однако, как вы узнаете в главе 4, все типы в С# являются объектами и основаны на .NET-классе System.Object. Поэтому все переменные имеют основной набор функциональных возможностей и поведенческих характеристик. Поэтому венгерская нотация в среде .NET теряет свою привлекательность.

ПРИМЕЧАНИЕЛюбопытные и те, кто страдает от бессонницы, могут почитать материалы о венгерской нотации по адресу http://msdn.microsqft.com/library/techart/hunganotat. htm.

Стили "Паскаль" и "верблюд"

Разработчики С# не связаны "жестким" стандартом, но из уже созданного ими видно, что они следуют набору условных обозначений, придуманных сотрудником Microsoft Робом Кэроном (Rob Caron), предложившим при обозначении переменных использовать смесь техник "Паскаль" и "верблюд". В статье "Coding Techniques and Programming Practices" ("Технологии и практика программирования"), имеющейся в MSDN ( http://msdn.microsoft.com/library/techart/cfr.htm) , он предлагает для имен методов применять технику "Паскаль", где первый символ изображается прописной буквой, и для имен переменных — технику "верблюд".

ПРИМЕЧАНИЕДополнительные сведения по этой теме см. в руководстве по .NET Framework, включенному в документацию по .NET Framework SDK, в разделе .NET Framework Developer Specificati-ons.NET Framework Design GuidelinesNaming Guidelines.

Комментируйте программный код!!!

«Программа без комментариев несопровождаема… Это часовая бомба, а не компьютерная программа» Правила программирования на С и С++ Ален И. Голуб