Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Утилита для анализа кода. (http://www.flasher.ru/forum/showthread.php?t=194774)

Deimos747 22.02.2013 02:02

Утилита для анализа кода.
 
Доброго времени суток! Как-то на форуме, я натыкался на описание утилиты для as3, которая анализирует код и в результате пишет какие переменные и функции не используются, а также рекомендации по качеству кода. Не подскажете, существует ли реально такая утилита, и если то как называется? А то я сам найти не могу.

bav 22.02.2013 02:45

Во FlashDevelop это Tools > Flash Tools > Analyze Project Source Code...

caseyryan 22.02.2013 10:00

Эти анализаторы такую чушь выдают, что просто пипец )
Например, что-то типа:
functions should only have one exit point. Хотя очевидно, что это не так. Могут быть определенные условия, при которых функция должна возвращаться одно значение, при других - дургое.
Или что названия переменных слишком короткие (даже в циклах).
В общем, бредогенератор. Не советую.

Inet_PC 22.02.2013 10:09

Тоже самое только для FB
Цитата:

functions should only have one exit point
Имеется ввиду что функция должна иметь только 1 return, а не то что Вы написали, все "бредовые" проверки можно отключить и оставить только те, что Вас устраивают.

iNils 22.02.2013 11:10

Цитата:

Сообщение от caseyryan (Сообщение 1121773)
Эти анализаторы такую чушь выдают, что просто пипец )
Например, что-то типа:
functions should only have one exit point. Хотя очевидно, что это не так. Могут быть определенные условия, при которых функция должна возвращаться одно значение, при других - дургое.
Или что названия переменных слишком короткие (даже в циклах).
В общем, бредогенератор. Не советую.

Анализатор можно настроить. И число выходов, и длину переменных. То есть сделать так, чтобы код соответствовал личным или командным нормативам. Так что вещь полезная.

Deimos747 22.02.2013 11:12

Спасибо за ссылки. А для FDT ничего такого нет? Меня в первую очередь интересуют неиспользуемые public функции и переменные.

Добавлено через 1 минуту
Всем спасибо, FlexPMD то что мне нужно.

КорДум 22.02.2013 11:50

IDEA имеет такую возможность.

caseyryan 22.02.2013 15:07

Цитата:

Сообщение от Inet_PC (Сообщение 1121774)
Тоже самое только для FB

Имеется ввиду что функция должна иметь только 1 return, а не то что Вы написали,

Нифига. Я об этом говорю. Return'ов может быть несколько. И срабатывать будут те, что подходят по условиям.
Как на счет такого варианта:
Код AS3:

private function getItemByCode(code:int):Item {
    for each (var item:Item in items) {
          if (item.code == code) return item;
    }
    return null;
}

?
Можно конечно написать и так
Код AS3:

private function getItemByCode(code:int):Item {
    var i:Item = null;
    for each (var item:Item in items) {
          if (item.code == code) {
                i = item;
                break;
          }
    }
    return i;
}

Но первый вариант короче и удобнее.

Цитата:

все "бредовые" проверки можно отключить и оставить только те, что Вас устраивают.
Какой вообще тогда смысл в этих проверках? С таким же успехом я могу просто сразу писать код, который меня устраивает.

Цитата:

То есть сделать так, чтобы код соответствовал личным или командным нормативам. Так что вещь полезная.
Ну, разве что для командной работы

Hauts 22.02.2013 15:11

iNils, подскажите, как настроить?

iNils 22.02.2013 15:43

Цитата:

Сообщение от Hauts (Сообщение 1121825)
iNils, подскажите, как настроить?

Tools > Flash Tools > Code Analyzer Ruleset Creator...
Загрузится страница, там куча различных правил которые можно отключить или включить, поменять приоритеты. Можно свои создать на основе регулярных выражений. Потом экспортировать изменения в C:\Program Files\FlashDevelop4\Tools\flexpmd\default-ruleset.xml или в другой файл, а в настройках плагина указать где он находится.

Добавлено через 5 минут
Цитата:

Сообщение от caseyryan (Сообщение 1121822)
Какой вообще тогда смысл в этих проверках? С таким же успехом я могу просто сразу писать код, который меня устраивает.

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

И стили у все разные, тот же return. Автор этих проверок считал, что он должен быть один, а ты нет. Возьми и отключи.

Это лишь проверка самого себя, можно на нее вообще забить.


Часовой пояс GMT +4, время: 03:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.