Показать сообщение отдельно
Старый 22.05.2014, 20:40
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 13  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Как я не люблю эти подчёркивания... без них гораздо читабельней код.

Если их использовать, то можно вместо:
Код AS3:
_onClick = onClick
писать:
Код AS3:
this.onClick = onClick
А если у тебя FlashDevelop, то просто выбирать аргумент функции и жамкать ctrl+shift+1

А вот это:
Код AS3:
if(mouseY <= _drag.height / 2)
   _drag.y = 0;
else
   _drag.y = _height - _drag.height;
Как по мне лучше записать:

Код AS3:
drag.y = (mouseY <= drag.height / 2) ? 0 : height - drag.height
Про вот это:
Код AS3:
_background = new Sprite();
_background.graphics.lineStyle(1, 0x0d3d1f, 0.7);
_background.graphics.beginFill(0x415046, 0.6);
_background.graphics.drawRect(0, 0, App.SCR_W - 1, CONSOLE_HEIGHT - 1);
_background.graphics.endFill();
Старайся избегать двух точек в одной строке (это и полезно - вдруг рисовать нужно в другом объекте, менять нужно только одну строку):
Код AS3:
background = new Sprite();
var canvas:Graphics = background.graphics;
canvas.lineStyle(1, 0x0d3d1f, 0.7);
canvas.beginFill(0x415046, 0.6);
canvas.drawRect(0, 0, App.SCR_W - 1, CONSOLE_HEIGHT - 1);
canvas.endFill();
Не понятно, зачем в LiteButton.as используешь слово super.

Код AS3:
private function type(e:KeyboardEvent):void
{
   if(e.keyCode == Keyboard.ENTER)
   {
      prompt(_promptField.text);
      _promptField.text = "";
   }
}
Я бы написал:
Код AS3:
private function type(e:KeyboardEvent):void{
 
    if(e.keyCode != Keyboard.ENTER) return;
 
    prompt(promptField.text);
    promptField.text = "";
 
}
Получается более эстетично, всё под одним отступом. Вообще не люблю вложенности, стараюсь чтобы везде была максимум одна, иначе дробить на более мелкие смысловые блоки.

Ну вот ещё фрагмент:
Код AS3:
if(command.indexOf(" ") > -1)
   operator = command.substring(0, command.indexOf(" ")).replace("/", "");
else
   operator = command.replace("/", "");
дважды выполняется поиск по массиву, не бойся выносить результаты во временные переменные:

Код AS3:
 
operator = command;
 
var anIndex:int = operator.indexOf(" ");
 
if(anIndex != -1){
   operator = operator .substring(0, anIndex);
}
 
operator = operator .replace("/", "");


Последний раз редактировалось Rzer; 22.05.2014 в 21:02.