четверг, 30 июля 2015 г.

Ссылка. Использование статического анализа FixInsight для повышения качества кода в Delphi

https://www.youtube.com/watch?v=A2R34URarpA

Достойно.

Но есть "пять копеек" - Типа "венгерская нотация". Ещё немножко банальщины.

Про интерфейсы и GUID Роман кстати ошибается.

Если у интерфейса нет GUID, то Supports не скомпилируется.

Скажут:

"Interface has no GUID".

Там проблемы с Supports есть сложнее:

Ещё раз про Supports
Массовое использование интерфейсов "вообще" и InterlockedIncrement/InterlockedDecrement в частности...
Продолжаем про "особенности Supports"
Коротко. Об особенностях Supports

Про IfDef _FIXINSIGHT_ тоже - не очень понятно. Кто определяет этот символ? Можно ли забыть определить этот символ и разломать проект?

Ну и 50-60 "форм" либо "юнитов" - это звучит смешно.

Несколько (десятков, сотен) тысяч не хотите?

Можно взять утилиту командной строки и прогнать "мега-проект" под Delphi7?

Похоже - можно.

Где взять? :-)

"Она не исключает из компиляции" - ХОРОШИЙ ВОПРОС. Таки ДА - ИСКЛЮЧАЕТ.

Похоже IfDef и IfNDef - перепутаны.

Таки - ДА. Перепутаны. Там дальше есть разъяснение.

Ну и удручает тот факт, что анализируются только файлы НЕПОСРЕДСТВЕННО подключённые в проект.

2 комментария:

  1. > Про интерфейсы и GUID Роман кстати ошибается.

    Возможно, надо будет проверить. Кстати, в следующей версии будет еще и обратная проверка. У generic-интерфейса не должно быть GUID-а.

    > Можно взять утилиту командной строки и прогнать "мега-проект" под Delphi7?

    На сайте, где ж еще? :)
    Дам прямую ссылку на последнюю версию http://sourceoddity.com/download/FixInsight_2015.04_setup.exe

    > Ну и удручает тот факт, что анализируются только файлы НЕПОСРЕДСТВЕННО подключённые в проект.

    Следующая версия будет анализировать еще и файлы, включенные в search path проекта. Я сейчас этот функционал пока тестирую.

    ОтветитьУдалить
    Ответы
    1. А без инсталлятора никак? Просто cmd-line.

      Удалить