С момента появления AS3 я работал так:
private var loggy:String;
public function getLoggy ():String
{
return loggy;
}
public function setLoggy ( loggy:String ):void
{
// checking to make sure loggy's new value is kosher etc...
this.loggy = loggy;
}
и старался не работать так:
private var _loggy:String;
public function get loggy ():String
{
return _loggy;
}
public function set loggy ( loggy:String ):void
{
// checking to make sure loggy's new value is kosher etc...
_loggy = loggy;
}
Я частично избегал использования неявных методов получения / установки AS3так что я могу просто начать набирать «get ..», и помощник по контенту выдаст мне список всех моих получателей, а также для моих установщиков.Мне также не нравятся подчеркивания в моем коде, которые отключили меня от неявного маршрута.
Другая причина состоит в том, что я предпочитаю чувствовать это:
whateverObject.setLoggy( "loggy's awesome new value!" );
этому:
whateverObject.loggy = "loggy's awesome new value!";
Мне кажется, что первое лучше отражает то, что на самом деле происходит в коде.Я вызываю функции, а не задаю значения напрямую.
После установки Flash Builder и замечательного нового плагина SourceMate (который помогает получить некоторые полезные функции, которые есть в FDTизвестен в FB) Я понял, что когда я использую функцию «создания геттеров и сеттеров» в SourceMate, она автоматически устанавливает мой код, используя неявный маршрут:
private var _loggy:String;
public function get loggy ():String
{
return _loggy;
}
public function set loggy ( loggy:String ):void
{
// do whatever is needed to check to make sure loggy is an acceptable value
_loggy = loggy;
}
Я считаю, что эти люди из SourceMate должны знать, что ониделали, иначе они бы не писали плагины для улучшения рабочих процессов для кодирования в AS3, поэтому теперь я задаю себе вопрос.
Итак, мой вопрос к вам: может кто-нибудь дать мне вескую причину, почему я должен отказаться от своегоявные способы g / s, начать использовать неявную технику и использовать эти вонючие маленькие _underscores для моих личных переменных?Или поддержите меня в том, что я делаю так, как я?