15.2. Соглашение об именах 229
15.2. Соглашение об именах
В языке Смолток существует совсем мало «законов» относительно имен
для классов, переменных и методов (а также категорий и протоколов в тех
реализациях, в которых они есть
1
). Имеющиеся правила мы рассмотрели
в первой части. Здесь же остановимся на соглашениях, которых следует
придерживаться программистам, подбирая имена для своих классов, пере-
менных, методов и других объектов.
Не забывайте, что имена общих переменных (глобальных переменных,
переменных пула, переменных класса) начинаются с заглавной буквы, а
имена временных переменных начинаются со строчной буквы. Кроме того,
имена не могут содержать пробелов. Поэтому, если имя состоит из несколь-
ких слов, последующее слово пишут без пробела с заглавной буквы.
Старайтесь делать имена переменных настолько описательными, на-
сколько это возможно, тем более что имена могут быть достаточно длин-
ными. Можете включить в имя информацию о назначении данной перемен-
ной. Например, occupiedRectangle, lineDelimiter, nextFourBytes. Последний
пример использует общее соглашение об указании на набор объектов: ис-
пользуется существительное во множественном числе. Если надо дать имя,
которое отражает логическое состояние, следует использовать нечто подоб-
но isNil, isChanged, wasConverted, hasBeenEdited. Используя такие имена,
вы сможете писать классические смолтоковские выражения:
occupiedRectangle hasBeenEdited ifTrue: [ "Do something" ].
Общее соглашение об именах параметров при определении метода сво-
дится к использованию типа или имени класса того объекта, который дол-
жен передаваться, с приставкой ’a ’ или ’an’ (в соответствии с правилами
английского языка). Например, anArray, aTriangle. Если параметр метода
может быть экземпляром нескольких разных классов, следует использовать
самый «нижний» общий суперкласс, например, aCollection или, в самом
общем случае, anObject. Последний пример не столь бессмысленен, как
может показаться, поскольку указывает на то, что в качестве аргумента
может передаваться экземпляр любого класса.
Так же тщательно, как имя переменной, следует выбирать и имя мето-
да (селектор), чтобы оно описывало цель метода. На длину имени метода
нет существенных ограничений. Методы, которые преследуют только цель
обращения к переменным, должны называться по имени такой перемен-
ной. Например, если есть переменная экземпляра с именем sideA, метод,
который возвращает ее значение, следует назвать sideA, а не returnSideA,
1
В некоторых новых реализациях используются пакеты и пространства имен.