![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2011
Сообщений: 11
|
Здравствуйте.
Ищу работу AS3 программиста. Сделал тестовое задание, но оно не было принято. Причина: не оптимизированный код. Прошу вас о небольшом code review. Что именно здесь не так? |
|
|||||
|
Ну, в плане оптимизации здесь это не особо критично. Просто видимо хотели проверить знания по разным нюансам.
К примеру, длину массива не нужно просчитывать в цикле каждый раз. То есть лучше написать так: var length:int = planets.length; for (var i:int = 0; i < length; i++) { planets[i].update(target); } Плюс у цикла должно быть тело, чтобы было удобнее читать. Ведь этот код не для себя пишется. Второе. Известно, что доступ к константам всегда медленнее, чем доступ к локальным переменным. Поэтому можно было часто используемые константы внутри функций "прилепить" к локальным переменным. К примеру не использовать везде в функции вызов Math.PI а сначала присвоить ее значение локальной переменной var pi:Number = Math.PI; а потом уже использовать ее. По-поводу оператора switch. Здесь уже были темы с таким обсуждением, и приходили к выводу, что в ас3, if / else работает быстрее, чем switch. В отличие от некоторых других языков. Так что свич я бы тоже выкинул. Так же есть такая мелочь как вид записи неявное приведение к типу Boolean. По логике, должна быть проверка типа, и после этого приведение к типу Boolean А так должна сразу приводить к Boolean Во многих языках первый тип записи вообще не позволит программе скомпилироваться. Это так, то, что можно сказать на вскидку |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Во многих, но в AS3 динамическое приведение, так что я бы не сказал, что это критичный момент.
|
|
|||||
|
А на мой взгляд - работодатель не прав. В задании нет ни единого намёка на оптимизацию кода. А идеально оптимизированным кодом, для такого простого примера, вряд ли кто-то заморачивается, только конечно если это не очень опытный программер, у которого уже просто привычка оптимизировать всё что только можно.
Уверен, если бы в задании был намёк на оптимизацию, то код товарища AtomicFlasher был бы другим. |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 431
|
Цитата:
__________________
Oomph |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 76
|
Пусть Ваш работодатель курит нервно в сторонке....
Начните свой проект! Не заморачивайтесь на этих жизненных мелочах. Нужно идти вперед. Станьте инди разработчиком. Поверьте пройдет время и вы поймете, что жизнь дает Вам шанс. Код достаточно хорош. А оптимизация - это отговорка... P.S. Нужна срочная работа, выйдите на фриланс-сайты |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Если придираться, то я вижу здесь 3 недостатка:
1. Отрисовка графиксом, а не битмапами (хотелось бы видеть ваш фпс на 5000 объектов). 2. Отсутствие инвалидации. Т.е. отрисовка идёт каждый фрэйм независимо от сохранности данных. 3. Нет явного MVC, хотя по сути Main - это контроллер, Planet - это модель, а Gui и Universe это вьюшки (рендереры) Но код достаточно понятный и чистый.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|