2009-10-16
Часто flex-разработчики работают в небольших командах, либо (о, ужас) в одиночку. А это может привести к тому, что утрачивается критическое отношение к своему коду. Но мы же не хотим деградации! =) Некоторое время назад Adode выпустили инструмент, который покритикует, укажет на недоработки, ошибки и bad practices в коде – это FlexPMD. Даже если вы пишете идеальный код (чего, конечно, не бывает), то будет полезно узнать про пару-тройку неиспользуемых методов или наличие пустых используемых методов. Или может в каком-то методе затесался неиспользуемый аргумент? =) На пути к идеальному коду у вас три этапа:
Набор правилПрежде всего необходимо определиться с набором правил, по которым будет проверяться код. Адобе предоставил FlexPMD Ruleset Creator, который по умолчанию предлагает набор из 84 правил разного приоритета: Error, Warning, Info. Этот набор можно редактировать и сгенерить файл pmd.xml, который будет в дальнейшем использоваться при проверке кода. Расскажу кратко про некоторые правила. Error priorityОшибками считается:
Warning priority
Info priority
В общем, лично я считаю эту программу крайне полезной. Если вы практикуете в команде ревью кода, то это может помочь на начальном этапе. Если команды нет, то полезно для самоорганизации. Шаги к идеальному коду с помощью AntПриведу шаги, в результате которых, вы сможете узнать всю правду про свой код. =)
Трекбек адрес этой записиURL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку) 6 комментариев
Комментарий от: yzh44yzh [Посетитель]
Все ок, но смутило, что использование BindingUtils относят к ошибкам. Я использую переодически, но не от хорошей жизни. Просто не представляю, как можно выкрутится без них, например, в такой ситуации: http://juick.com/yzh44yzh/321622
2009-10-20 @ 14:38
Комментарий от: yzh44yzh [Посетитель]
Ах да, там же невидно, что у меня за ситуация. В моем блоге есть вьюшка, показывающая список статей. Там нельзя использовать List, потому что элементы списка имеют разную высоту. Вместо этого приходится использовать VBox. И поскольку я не могу использовать dataProvider, приходится явно пересоздавать в этом VBox дочерние элеметы при каждом изменении списка статей. Стало быть, при изменении списка статей в модели мне нужно вызывать метод. И как тут обойтись без BindingUtils? В вышеуказанном линке описано, как я пытался выкрутиться с помощью MethodInvoker, но не получилось. И оказалось, что это вообще архитектурно неправильно -- вызывать в EventMap какие-либо методы во вьющках.
2009-10-20 @ 14:48
Комментарий от: yzh44yzh [Посетитель]
Проблема с BindingUtils решена http://juick.com/yzh44yzh/328213Junik, можешь убрать нафиг мои комменты. Они тут не совсем в тему. PS: комменты в блогах отстой, жуйк рулит
2009-10-20 @ 15:15
![]() Junik, можешь убрать нафиг мои комменты. Они тут не совсем в тему. Да уж пусть будут. =) Кстати, использование BindingUtils можно часто заменить подпиской на события. Я видела вот такую жесть: BindingUtils.bindSetter(sizeChangeHandler, this, "width"); BindingUtils.bindSetter(sizeChangeHandler, this, "height"); Хотя послушать событие resize было бы как-то логичнее. =)
2009-10-20 @ 15:34
Комментарий от: AS3Coder [Посетитель] · http://as3coder.blogspot.com/
Есть и плагин для FlashDevelop http://www.swfgeek.net/2009/09/18/using-flex-pmd-in-flashdevelop-3/
2009-10-22 @ 10:29
Эта запись имеет 1 отзыв, ожидающий модерации... Оставить комментарий |