Программирование >>  Программирование с использованием ajax 

1 ... 13 14 15 [ 16 ] 17 18 19 ... 396


Соглашения об именовании

Имена переменных - это то, чем приходится пользоваться постоянно, поэтому совсем не помешает посвятить немного времени на рассмотрение того, какого вида имена следует применять. Прежде чем приступить к изучению этого вопроса, однако, запомните, что он является спорным. Разные системы постоянно появляются и исчезают, и многие разработчики горячо отстаивают преимущества своей личной системы.

До недавнего времени наиболее популярной считалась венгерская нотация (Hungarian notation). Эта система подразумевает использование в именах всех переменных стандартных прописных префиксов, указывающих на тип этих переменных. Например, если переменная имеет тип int, тогда в начале ее имени может стоять префикс i (или п), т.е. оно может выглядеть, например, как iAge. Применение этой системы позволяет легко определять тип переменной по первому же взгляду на ее имя.

В более современных языках вроде С# внедрение этой системы является не совсем простой задачей. Для типов, которые были рассмотрены пока, пожалуй, еще можно было бы подобрать одно- или двухбуквенные префиксы. Но из-за возможности создавать свои собственные типы и наличия многих сотен таких более сложных типов в базовой библиотеке .NET Framework, такой подход быстро теряет практичность. В случае работы над проектом нескольких людей легко может случиться так, что каждый из них придумает свои разные и сложные префиксы, что может привести к катастрофическим последствиям.

Разработчики поняли, что гораздо лучше именовать переменные в соответствии с их предназначением. При возникновении каких-либо сомнений тип переменной можно всегда довольно легко выяснить. В VS и VCE для этого, например, достаточно просто навести на имя переменной курсор мыши: после этого появляется всплывающее окно с информацией о том, к какому типу она относится.

В настоящее время в пространствах имен .NET Framework используются две таких системы именования: PascalCase (стиль языка Pascal) и cam£lCase ( верблюжий стиль). В обеих системах на предназначение переменных указывает используемый в их именах регистр. Обе они применяются к именам, которые состоят из нескольких слов, и обе требуют, чтобы все буквы в каждом слове имени были прописными, кроме первой, которая должна быть заглавной. В системе camelCase присутствует еще одно дополнительное правило, требующее, чтобы первое слово начиналось с прописной буквы.

Таким образом, имена переменных, созданные по системе camelCase, могут выглядеть, к примеру, так:

firstName timeOfDeath

A имена переменных, созданные по системе PascalCase, соответственно, так:

LastName

WinterOfDiscontent

Системой camelCase лучше пользоваться для именования простых переменных, а системой PascalCase, согласно рекомендациям Microsoft, - более сложных переменных. И, наконец, напоследок обратите внимание, что во многих прежних системах именования часто применялся символ подчеркивания, обычно в качестве разделителя между словами в именах переменных, например: yetanothervariable. Сейчас его применение не поощряется (что и хорошо, поскольку выглядит это неуклюже).



Литеральные значения

в предыдущем практическом занятии было показано два примера литеральных значений - integer и string. У переменных других типов тоже могут быть ассоциируемые с ними литеральные значения, как видно в табл. 3.4. Многие из них подразумевают использование суффиксов, т.е. добавление в конце литерального значения последовательности символов для указания желаемого типа. Некоторые литералы имеют по несколько типов, которые определяются во время компиляции самим компилятором на основании их контекста (что тоже можно увидеть в табл. 3.4).

Таблица 3.4. Литералы

Тип (типы)

Категория

Суффикс

Пример/

допустимые значения

bool

Булевская

true или false

int, uint, long, ulong

Целочисленная

uint, ulong

Целочисленная

U или и

lOOU

long, ulong

Целочисленная

1 или L

lOOL

ulong

Целочисленная

ul, UL, Ul, UL, lu, lU, Lu или LU

lOOUL

float

Вещественная

f ИЛИ F

1.5F

double

Вещественная

Нет, d ИЛИ D

decimal

Вещественная

m или M

1.5M

Char

Символьная

a или управляющая последовательность символов

String

Строковая

а... а , может включать управляющие последовательности символов

Строковые литералы

Ранее в этой главе уже было показано несколько управляющих последовательностей, которые могут использоваться в литералах string. В табл. 3.5 для справки перечислены все такие управляющие последовательности.

Таблица 3.5. Управляющие последовательности, используемые в строковых литералах

Управляющая последовательность

Получаемый символ

Unicode-значение символа

Символ одиночной кавычки

0x0027

Символ двойной кавычки

0x0022

Символ обратной косой черты

0х005С

Отсутствие символа.

0x0000

Символ предупреждения

(приводит к выдаче звукового сигнала)

0x0007

Символ возврата

0x0008



Окончание табл. 3.5

Управляющая последовательность

Получаемый символ

Unicode-значение символа

Символ перевода страницы

ОхОООС

Символ новой строки

ОхОООА

Символ возврата каретки

OxOOOD

Символ горизонтальной табуляции

0x0009

Символ вертикальной табуляции

ОхОООВ

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

Это означает, что следующие строки являются эквивалентными:

Karli\S string. Karli\u0027s string.

Очевидно, что управляющие последовательности Unicode привносят больше разнообразия.

Строки еще также можно задавать и дословно (verbatim), т.е. делать так, чтобы в строку включались все содержащиеся между знаками двойных кавычек символы вместе с символами конца строки и символами, которые в противном случае необходимо было бы отменять. Единственным исключением является управляющая последовательность для символа двойных кавычек, которая должна обязательно указываться во избежание окончания строки. Чтобы сделать это, достаточно просто добавить перед строкой символ 0:

@ Verbatim string literal.

Эту строку точно так же легко можно было бы задать и обычным образом, но вот для следующей строки требуется обязательно использовать только такой метод:

@ А short list: item 1 item 2

Задаваемые дословно строки особенно удобно применять для имен файлов, поскольку в них обычно используется очень много символов обратной косой черты. В случае применения обычных строк придется постоянно добавлять по два символа обратной косой черты:

С:\\Temp\\MyDir\\MyFile.doc

Задаваемые дословно строки позволяют получать более читабельный результат. Например, в случае использования задаваемой дословно строки предыдущая строка будет иметь такой вид:

@ С:\Temp\MyDir\MyFile.doc

Как будет объясняться позже в этой книге, в отличие от других демонстрировавшихся типов, которые являются типами-значениями, строки являются ссылочными типами. Из этого следует, что строкам может также присваиваться и значение null, означающее, что данная строковая переменная не ссылается на строку (точнее - ни на что другое).



1 ... 13 14 15 [ 16 ] 17 18 19 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика