Подчеркнуть или не подчеркнуть? Это Open Mike, серия дискуссионных сообщений, чтобы бросить кота среди голубей. Эти сообщения все о вас — мы хотим услышать ваши мнения, идеи и мысли. В связи с популярным спросом, этот Открытый Майк включает опрос, чтобы помочь нам проанализировать мнение, поэтому давайте послушаем, что вы скажете о префиксах .
Вы ставите подчеркивания перед переменными?
Разработчики AS3 часто используют подчеркивания в качестве префиксов для частных или защищенных переменных в классе:
1
|
private var _playerID:String;
|
Некоторые кодеры находят этот способ полезным, чтобы сразу определить, доступен ли var другим классам; другие высмеивают это как бесполезное и безобразное. На чьей стороне вы?
Как насчет метода аргументов и интерфейсов? Что еще?
Другими распространенными префиксами являются a_ для аргументов метода (или p_ для параметров) и I для интерфейсов.
1
2
3
4
|
public function takeDamage(a_damage:Number):void
{
_damage-=a_damage;
}
|
1
2
3
4
5
6
7
|
package
{
public interface IPlayerCharacter
{
function takeDamage(a_damage:Number):void;
}
}
|
Префикс «Я для интерфейса» довольно распространен, но префиксы аргументов встречаются реже.
Есть ли другие, которые вы часто используете? Дайте нам знать об этом в комментариях.
Венгерская нотация: да или нет?
Если у них не было сильных мнений, у меня есть два слова для вас: венгерская запись.
Нет, я не говорю о венгерских системах, где тип данных объекта закодирован в префикс имени:
1
2
3
4
|
var intCounter:int = 0;
var boolBestScore:Boolean = false;
var nHeight:Number = 120;
var btnOK:SimpleButton = new Button();
|
Никто еще не использует это, не так ли? С приличной IDE вы можете легко определить тип данных любой переменной; нет необходимости иметь эту информацию в имени переменной.
Я говорю о Apps венгерском, где назначение объекта закодировано в префиксе имени:
1
2
3
4
|
var dHeight:Number = newHeight — oldHeight;
var cChildren:int;
var degAngle:Number;
var radAngle:Number;
|
(За дополнительной информацией обращайтесь к превосходной статье Джоэла Спольски «Как сделать неправильный код неправильным» ).
Используете ли вы какую-либо форму венгерской нотации или она совершенно не нужна в языке ООП, таком как AS3?