
12.12.2011, 07:13
|
|
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вложенная функция теоретически может использоваться как некая "подпрограмма" функции-хозяина, выделяя некую однотипную операцию расчета, которая очень часто используется во время работы этой "большой" функции. В то же время такой подход нарушает с десяток принципов чистого кода (метод должен делать одно действие, должен быть доступен другим методам класса для повторного использования и т.д.). Ничто не мешает держать метод в теле класса и избежать неочевидных и труднонаходимых багов, вызванных жизненным циклом и областью видимости вложенной функции.
В Вашем случае рекомендую просто протрейсить внутри вложенных функций-обработчиков, знают ли они, что такое myMap и timer_tun_sprit. Вместо trace("zakoncheno"); напишите trace("zakoncheno", timer_tun_sprit);
Мне трудно анализировать Ваш код, из-за кучи прочерков он похож на дело ФБР с затертыми именами, адресами и датами. Используйте кэмел, как рекомендуют соглашения об оформлении кода, а прочерк стоит использовать для выделения приватных переменных класса, ставя его в начале имени _приватнойПеременнойКласса. Названия функций и методов всегда пишутся с маленькой буквы, а классов – с большой. Сделайте одолжение прежде всего себе – соблюдайте конвенции. Не думайте, что начнете соблюдать их, когда станете великим и знаменитым. Начните сейчас.
|