вопрос по классам во Flash @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
На страницу <  1 2 3 4  >  Страница 2 из 4 [ Сообщений: 117 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 23 Декабрь 2005, 03:40:00 
точно так же, как если ты напишешь в кадре
myVariable = 1
то эта переменная присвотися клипу ,которому принадлежит этот кадр

_________________
Здравствуй, Олимпийский!
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Декабрь 2005, 10:46:37 

Цитата:
С какого содержимое функции должно ссылаться на mc только потому , что функция выполняется по его событию?

конечно :) это обсолютно не читаемо и не правельно. Не понятно интуитивно. Если я напишу это внутри класа, работать это будет подругому. Логики нет, потому как исключений много.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 23 Декабрь 2005, 13:37:04 
BlooDHounD,
Цитата:
это обсолютно не читаемо и не правельно


да брось.
всё зависит от целей.

_________________
можно на ТЫ.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 23 Декабрь 2005, 13:47:52 
Вот именно, что обсолютн :laugh:
Я потому и говорю, это вопрос о том, кто во что рогом уперся :)

p.s.: уже говорил, но еще раз: лично по мне, пиши как хош, главное понимай что делаешь …
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 23 Декабрь 2005, 14:20:36 

Король писал(а):
с флешем надо прость е-ться, е-ться и еще раз е-ться. и все станет понятно в какой то момент)

- а понятно всё станет тогда, когда надоест еться и придет понимание того, что нужно писать читабельный код.


@st@l@vist@ писал(а):
iv, вопросы скорости исполнения кода во флеше - глупость :)

- ровно до того момента, когда тебе не отвалится жирный заказ на игрушку с алгоритмом поиска пути или что-то в этом роде. Про this и думать забудешь: втыкаться будет на автомате. В байткоде ручками писать будешь, чтобы выгадать сотую миллисекунды на итерации.

Цитата:
нужно, ни хоть как то указывать пути, чтобы избежать непознанных ошибок, а понять причины возможных ошибки, и вообще понимать структуру своего приложения и особенности флеша!

каждый программер эволюционирует:
- писать чтобы работало
- писать и понимать как это работает
- писать так, чтобы всем было понятно как это работает.

не думаю, что у меня есть проблемы с пониманием областей видимости,
но всё же я пишу this и прочая. чего всем советую.
потому как возможно впоследствии кроме меня этот код кто-то будет править.


Цитата:
И насчет рекомендации к хорошему стилю программирования во флеше, они говорят […] - про использование this в каждой строчке кода, там ничего нет …

- неправда. есть. несколькими постами выше я рекомендовал обязательно использовать указание пути к переменным. и обосновал. чем тебе мои рекомендации не угодили?

Рекомендации... все рекомендуют писать понятный, однозначный код.
Если путь к переменной явно не указан, то понимание скрипта зависит уже не от тебя, а от уровня понимания областей видимости тем человеком, который этот код будет читать.
С моей точки зрения уже это весьма веская и достаточная причина.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 23 Декабрь 2005, 14:45:28 

_iv писал(а):
неправда. есть. несколькими постами выше я рекомендовал обязательно использовать указание пути к переменным. и обосновал. чем тебе мои рекомендации не угодили?



:lol:

Наверное для тебя не будет откровением, что люди говорят про твой стиль писания? :) Когда обсуждали твой Path на флешере, даже Нокс, который просто влюблен в "this в каждой строчке кода", указал на нечитабельность …

И после этого рекомендации? :)
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 23 Декабрь 2005, 14:51:45 
мда.. на флеше "жирную" игрушку писать?… бред полный.
Зачем на флеше?

_________________
можно на ТЫ.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 23 Декабрь 2005, 15:05:15 
2@st@l@vist@:
классу Path уже не первый год стукнул. Я не стою на месте и мое понимание кодинга тоже меняется.
Да и собственно отсутствие читабельности как раз таки не вызвано отсутствием либо наличием this.
Там вроде с этим всё впорядке.

Сейчас пишется новая версия Path, впрочем, это такой проект,
в котором стиль кодинга для его понимания играет минимальную роль.
Нужно знать несколько другие вещи.

2bE(o0L:
Затем, что это решение заказчика, которое от тебя не зависит никаким образом.
Или ты хочешь сказать что описанная ситуация далека от реалий?
- в сети полно таких примеров.


Последний раз редактировалось _iv 23 Декабрь 2005, 15:12:23, всего редактировалось 1 раз.
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Декабрь 2005, 15:07:26 
bE(o0L, за тем, что на данный момент это проще всего ;) к тому же по популярности Флэш-игры стоят на 2м месте.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 23 Декабрь 2005, 15:22:55 
_iv, ну я не про твой Path - сделал хорошую работу и молодец :) … мне на самом деле глубоко безразлично, что внутри класса написано, если у класса удобный интерфейс ;) и он работает без ошибок, я никода не полезу смотреть что в нем такое …

А на самом деле, я про то, что прости, не входишь в список авторитетов, от которых приму рекомендации по хорошему стилю написания кода :)

И еще, думаешь данный топ куда-то нас приведет? :) - мне кажется нет, только если потрепаться для поддержания активности в разделе …
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 23 Декабрь 2005, 15:42:13 
Активность в разделе очень важна. Топик не закрываем :)

Это хорошо, что я не вхожу в список авторитетов.
Я сам вообще не приемлю аргументов типа: так рекомендует Сам Такой-то.
Да пофигу мне рекомендации основанные на пузомерстве.
Но.
Если кто угодно качественно аргументирует свои рекомендации, я соглашусь с ними.

Так давайте обсудим аргументы "за" и "против" обязательного использования пути к переменной.
тогда и вывод можно будет сделать правильный.
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 23 Декабрь 2005, 16:02:13 
А, товарищи, флеймим опять :laugh:

_________________
blog : flash / unity
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 23 Декабрь 2005, 17:45:42 
Нарабатываем материал для FAQ :)
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 23 Декабрь 2005, 18:34:11 
@st@l@vist@, with(this) {a,b,c} , я про такую возможность даже не слышал , спасибо попробую , а то когда в коде уже 5-уровневые пути , становится тяжко :)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 23 Декабрь 2005, 18:43:04 
Eduard, я то тут при чем :)? … ты главное в хелпе почитай про него, что можно делать, а что нет внтури этого блока, чтобы потом недоразумений не вышло …
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 23 Декабрь 2005, 19:26:42 
кстати, 3й АС выдаёт варнинг при компиляции, с использовании with. типа "вы можите ошибиться при написании и будет бяка"
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 23 Декабрь 2005, 20:41:35 
как будто при написании с другим синтаксисом ошибиться невозможно

_________________
Здравствуй, Олимпийский!
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 24 Декабрь 2005, 01:32:03 
в 3м АС ??? афигенно трудно. поверь мне. Если что не так то он сразу пищит. а вот with он походу проверяет только в рантайме. поэтомуі предепреждает.
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 24 Декабрь 2005, 01:40:08 
верю тебе. сам ничего в нем не делал и не скоро собираюсь начинать

_________________
Здравствуй, Олимпийский!
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 24 Декабрь 2005, 02:55:03 
BlooDHounD, а где ты успел третим побаловаться?

_________________
можно на ТЫ.
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 24 Декабрь 2005, 04:21:58 
ну во флексе видимо

_________________
Здравствуй, Олимпийский!
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 24 Декабрь 2005, 04:36:31 
А Николай теперь статьи пишет про АС3, так что и не знаю, будет ли здороваться теперь :dandy:
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 24 Декабрь 2005, 15:42:44 
@st@l@vist@, я не зазнаюсь :dont:

bE(o0L, качаешь флекс 2 и втыкаешь. Там всё просто, если не считать тот факт что малость придётся переучиваться :) Так как такой видимости там прсото больше нету %)
Reijii Муж.
новый человек
0
Сообщения: 137
Зарегистрирован: 10.02.05
Сообщение Добавлено: 26 Декабрь 2005, 12:08:42 
спасибо все за ответы и обсуждения ) было познавательно почитать некоторые посты.

если когото интресует мнение новичка
мне как то привычней чтоли писать с this., как то читабельней. чтоли.. может наверное потому что я начинал с изучения кода в котором использовался this. а не with() ? да и в книгах что есть в наличии используют this.
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 26 Декабрь 2005, 15:56:32 
Reijii, никто тут не предлагает вместо this юзать with ;)

_________________
blog : flash / unity
Reijii Муж.
новый человек
0
Сообщения: 137
Зарегистрирован: 10.02.05
Сообщение Добавлено: 26 Декабрь 2005, 17:36:37 
;)
я думаю что правильно будет использовать все в разумных пределах и по мере надобности ;) я уверен что есть вещи которые удобней и правильней сделать через with или для this :)
осталось только понимать эти вещи и правильно их реализовывать :)
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 26 Декабрь 2005, 17:51:01 
я попробую резюмировать мнение собравшихся:

"за" использование явного указания пути к переменным следующие аргументы:
- однозначность понимания кода, что лишает программера многих эротических
переживаний связанных с выявлением неожиданного поведения кода.

"против"
- визуальная забитость кода всякими this.

есть что добавить?
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 26 Декабрь 2005, 21:54:08 
закрывай %)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 27 Декабрь 2005, 01:38:23 
1) Я пишу:

var myVariables = 1;
function myFunction()
{
}

вместо:

this.myVariables = 1;
this.myFunction = function()
{
}

Потому, что мне так удобнее и понятнее, и так пишут на JS, везде куда я ни сунусь, будь то Директор, Иллюстратор, АЕ и т д, и мне не приходится думать о том, что стоит переключаться с флеша на что-то еще.

2) Тем кто использовал первый, из выше указанных способов, проще перейти на конструкции типа:

var myVariables:Number = 1;

function myFunction(args:Array):Number
{
}

3) Мне кажется, что this - должен быть использован там где он необходим, там где без него не обойтись, в случае с таймлайном - это масло масленное.

4) В любом случае, будь ты дизайнер или программист имеющий дело с флешом и профессионально занимающийся этим - твоя обязанность понимать, что и где происходит и почему что-то работает не так. Такова уж специфика флеш - грабли, бубны и т д :)

В следующем примере нас не спасет ни this, ни var ;) (Мелькал у нас такой топ тут)

Вытаскиваем на таймлайн компонент ScrollPane, а в первый фрейм вставляем код:

this.width = 0;
trace(this.width);

var width = 0;
trace(width);


Так что когда наступит день потопа … :)
BlooDHounD Муж.
соучастник
0
Сообщения: 585
Зарегистрирован: 12.03.04
Откуда: Беларусь - Борисов
Сообщение Добавлено: 27 Декабрь 2005, 05:26:40 
@st@l@vist@, ууууу …… да тут оказывается нужно давать урок в другом направлении :)

У тя различия не от использовании а объявлении %) если var то, она испариться якобы, а если this - то жить ей пока не закроешь или delete не применишь.

ПыСы .. речь фактически в основном о классах была.
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 27 Декабрь 2005, 06:21:07 

BlooDHounD писал(а):
ПыСы .. речь фактически в основном о классах была.



Это у кого интересно речь в основном о классах была :) ?

_________________
blog : flash / unity
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 27 Декабрь 2005, 15:50:09 
если переменная объявлена как локальная, то объявление var... это и есть указание пути к переменной.
никто против и не высказывался.

раздваяюцца мнения о тех переменных, которые не объявлены,
причем неважно где используются, на таймлайне ли или в динамическом классе.

плюс к тому, даже переменным, объявленным в классе,
мне кажется, лучше указывать полный путь.

я категорически против "this - должен быть использован там где он необходим"
единообразие написания кода очень важно. "читатель" твоего кода потеряется уже в первых строках
если ты к одним переменным ("там где необходимо") обращаешься через this, а к другим без.

также трудно определить, даже скорее невозможно, критерии для того, требуется ли this или нет в каждом конкретном случае.
к примеру, ты пишешь на таймлайне:
if (some_flag) {
play()
}

а потом втыкаешь чужой прелодер, который в _global без твоего ведома пихает
_global.some_flag = true
в итоге ты долго ищешь причину, по которой твой код работает некорректно.
и это может случиться в любой момент с любой такой переменной!!!

и еще очень важный момент: производительность.
это может показаться мелочью, но такие мелочи могут отъесть существенный кусок
производительности проекта:

if (some_flag) {
play()
}

в этом случае переменная ищется среди локальных, затем в this и его классовых родителях,
затем в _global и, если нет до кучи вызывается ресольвер.

if (this.some_flag) {
this.play()
}

- поиск не производится в _global и дальше.

- мелочь?

что-то слишком много мелочей накапливается против обращения к переменным без использования пути к ним.
- а оно нам надо?
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 27 Декабрь 2005, 16:01:27 

Цитата:
var myVariables = 1;
function myFunction()
{
}

- если ты объявил переменную, то ничего неправильного я не вижу.
речь не идет о том, использовать именно this вместо чего-то еще.
Речь идет о том, что нужно указывать путь к переменной.
Как я уже выше писал, объявление var и есть указание такого пути.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 27 Декабрь 2005, 16:09:10 
по пункту 4
Цитата:
специфика флеш - грабли, бубны и т д

- я давно не замечал граблей и бубнов во флэш.
т.е. были. но прошли. причем, не с новой версией флэш, а так, рассосались понемногу.
причина в том, что грабли и бубны в голове.
и начинается всё это с мелочей типа: ну раз флэш прощает обращение без указания пути, то и не буду указывать.
но потом выясняется, что не прощает и вот тут начинаются грабли и бубны.


Последний раз редактировалось _iv 27 Декабрь 2005, 16:25:25, всего редактировалось 1 раз.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 27 Декабрь 2005, 16:13:22 

Цитата:
твоя обязанность понимать, что и где происходит и почему что-то работает не так

- я об этом писал выше.
повторюсь:
есть три стадии эволюции программера:
- писать чтобы работало
- писать и понимать как это работает
- писать так, чтобы всем было понятно как это работает.

ты сам ответил себе где ты и, надеюсь, видишь куда нужно идти.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
На страницу <  1 2 3 4  >  Страница 2 из 4 [ Сообщений: 117 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100