Показать сообщение отдельно
Старый 17.03.2016, 20:23
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Бестыч, я ничего против ленивого пула не имею
Хочется показать новичку, что пул — обособленная логическая связующая сущность, ее нужно выделить в отдельный класс и пользоваться экземпляром. Так будет меньше кода в основном классе, плюс уйдут в инкапсуляцию "лишние" ссылки на массивы.

Да, скобочки несут только эстетическую пользу в данном случае.

По поводу вложенных тернарных условий: советую также забыть и об этом. Не нужно экономить строчки, это не туалетная бумага. Код должен быть простым, нужно взглянуть на него и сказать, что здесь творится то-то (поэтому комментарии "что здесь происходит?" и не нужны). Тернарные операторы хороши, если операнды в них небольшие.

Цитата:
var a:uint = b > 3 ? (b > 6 ? 2 : 1) : 0;
Даже в этом облегченном от скобок варианте я не могу в течение первой-двух секунд понять логическую нагрузку этого кода.

Вы еще учитесь и нет ничего страшного, просто запомните мои слова, а пока пишите код так, как как пишется. Прислушиваясь по возможности к более опытным товарищам, конечно же.

И еще заметил только сейчас:
Цитата:
for (var bpi:uint = 0; bpi < bpl; bpi++ ) { _blocksPool[bpi].cleanup() };
Вновь неоправданная экономия строк. И ни о чем не говорящие переменные с именами bpi и bpl. Да, я могу вернуться по коду выше и посмотреть, что вроде как они переводятся block panel index и length соответственно. Но я должен возвращаться обратно для этого. И любой другой, посмотрев этот код, начнет его изучение с рефакторинга таких мест. Чтобы в дальнейшем, если он вернется к этому куску кода, больше не чесал репу и не разберался, что за bpi.
А и да, эта конструкция заменятся на for-each цикл.
__________________
тут я