Цитата:
Сообщение от
belugin
Я пробовал, могу немного рассказать.
1. Тул предлагает загрузить модель для анализа
2. В течение нескольких часов производится закачка\компилирование модели и запускается анализ.
3. Неожиданно, для казалось бы полностью вычищенной модели, получаем кучу ошибок\замечаний.
4. При анализе видим, что найденных 90% замечаний неоднозначные.
Например:
- Если анализатор "видит" CRUD операции с таблицами и не встречает выше по коду "ttsbegin" в текущем методе, вываливает это как ошибку\замечание, при этом не учитывая, что метод целиком уже может выполняться в рамках транзакции. Отсюда получаем ругань чуть ли не на каждый метод где есть CRUD.
- Если вы что-то воткнули в стандартный код, то все грехи стандартного кода будут расценены как ваша кастомизация со всеми вытекающими.
- В исполняемом на сервере коде нельзя пользоваться такими функциями как info\error\setprefix. (ну клиентскими Box:: само собой).
- Анализатор требует переноса ВСЕХ CRUD операций на таблицы\классы, причем обязательно в серверном исполнении. Т.е. select на форме либо клиентском классе уже не напишешь, даже если это будет временная таблица.
- Для CRUD операций требуется обязательно предшествующие validateWrite\Delete, даже если таблица временная, использующаяся как некий буфер.
- Требует кэширования всех дисплей методов, даже если метод закэширован (баг), даже если метод написан на датасорсе.
Есть и много полезных замечаний.
Технически, тул реализован незамысловато. Где-то в облаке крутится аксапта, куда загружается ваша модель (отсюда обязательность совпадения версий вашей модели с версией тула и длительное время на компиляцию). В аксапте написан некий BestPractice extention, который выполняет проверку. По результирующему отчету даже видно, что он выгружается их таблицы SysCompilationOutput.
В общем тул пока сыроват, но в целом полезен, если не воспринимать все замечания в лоб.
Ну а вообще, можно было включить этот BestPractice extention в рамки стандартной системы и не заниматься глупостями в виде отдельных web приблуд.