проверьте, пожалуйста, пул
Здравствуйте!
Я наконец-то созрел для применения объектного пула. Проверьте, пожалуйста, пул ли у меня получился вообще и если да, правильно ли всё сделал? Итак, есть объект "блок", вот его класс: Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
|
А зачем плодить темы? Писали бы в той своей, так как эта имеет к первой непосредственное отношение.
1. пул должен быть выделен в отдельный класс, его методы должны быть инкапсулированы. Это отдельная логика, она должна выставлять наружу только методы управления собой, такие как "взять", "удалить" и еще что-то по вкусу. 2. вызов метода reset я бы сделал руками в логике пула и убрал подписку на removeFromStage. Равно как и init. В текущей реализации хендлер addedToStage вообще не нужен, его можно сделать публичным и дернуть в нужный момент (но это нужно смотреть по общей архитектуре и логике приложения) 3. почитайте про конвенции именования методов (get_block не является правильным именем). 4. посмотрите на свои комментарии, они бессмысленны. Комментарий не должен отвечать на вопрос "что?", он должен отвечать на вопрос "почему?" в большинстве случаев. Цитата:
|
В одном ответе сразу столько полезного, большое спасибо! По первым трём замечаниям исправления внёс.
Цитата:
Цитата:
Код AS3:
|
От того, что всё в скобках, легче не становится. Оставьте одни, если так Вам проще.
Код AS3:
|
имхо ифом будет много понятнее.
|
Простите, скобочки, мы с вами так долго были вместе, но теперь придётся расстаться. Ничего личного, просто без вас реально лучше. Постараюсь поскорее от вас отвыкнуть:bye:
Добавлено через 2 минуты Цитата:
|
Цитата:
|
Бестыч, я ничего против ленивого пула не имею :)
Хочется показать новичку, что пул — обособленная логическая связующая сущность, ее нужно выделить в отдельный класс и пользоваться экземпляром. Так будет меньше кода в основном классе, плюс уйдут в инкапсуляцию "лишние" ссылки на массивы. Да, скобочки несут только эстетическую пользу в данном случае. По поводу вложенных тернарных условий: советую также забыть и об этом. Не нужно экономить строчки, это не туалетная бумага. Код должен быть простым, нужно взглянуть на него и сказать, что здесь творится то-то (поэтому комментарии "что здесь происходит?" и не нужны). Тернарные операторы хороши, если операнды в них небольшие. Цитата:
Вы еще учитесь и нет ничего страшного, просто запомните мои слова, а пока пишите код так, как как пишется. Прислушиваясь по возможности к более опытным товарищам, конечно же. И еще заметил только сейчас: Цитата:
А и да, эта конструкция заменятся на for-each цикл. |
Из явно зацепивших мой взгляд могу выделить пару моментов.
Я бы не стал делать того, что происходит в Код AS3:
Пул для одного типа объектов считаю рациональным объявлять в самом классе объекта. |
большое спасибо всем! Что смог - исправил сразу по вашим советам, над остальным работаю)
|
Часовой пояс GMT +4, время: 01:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.