04.03.2021, 14:07 | #9 |
Участник
|
Имелись в виду классы
SysSourceNameWash SysSourceUpdate там стандартный код правил. Возможно у кого-то есть свои правки или версия отличается. Цитата:
Попутно выяснилось что инструмент содержит немного багов: 1. Некорректно обрабатывает методы, в которых есть строки длиннее 250 символов, как следствие такие методы остаются необработанными, да еще и ругается на них каждый раз при запуске. 2. Ошибочно преобразует ссылки в коде на имена полей таблиц у которых в начале более 2 заглавных символов (например someTable.ISOcode испохабил - привел к нижнему региструsomeTable.isOcode, хотя не надо было трогать, т.е. не везде корректно учитывал область применения - преобразовывал первые символы к нижнему регистру там где не надо) 3. Финальное сохранение было сделано через методы xUtilElements:: которые обращались к тормозной вьюхе UtilElements (по 1 секунде на запрос) что при массовой обработке думало по полдня. 4. Кажется (точно уже не помню) некорректно обрабатывались методы на формах (лукапы, методы датасорсов итп) - (вроде бы они то ли вообще не обрабатывались то ли ссылки на них не обрабатывались) 5. Правильно обрабатывались стандартные зарезервированные слова, для которых в ветке \System Documentation\Reserved Words почему-то были заданы большие буквы в camel стиле (ttsBegin ttsCommit ttsAbort forUpdate итп) - преобразовывались в нижний регистр, но сам редактор при вводе подставлял их неверно - как в AOT. Редактор исправить невозможно, пришлось править класс, чтобы было безобразно, но единообразно. 6. Из-за баги некорректно шла обработка методов содержащих макросы, так что исходный код всего метода оставался неизменным. 7. Не умеет корректно обрабатывать макросы. - Не меняет их содержимое. и фич: 8. Обрабатывает все подряд, вместо конкретного слоя. (я не хотел править стандартный код, только то что на usr мы сами наваяли) 9. Запускать его надо 2 раза подряд (при 1-м запуске изменяет имена методов и переменных, при втором ссылки на методы) пп 1-6 исправил. п. 7 непонятно как исправлять, но это некритично. п.8 исправил. п.9 - просто надо учитывать и запускать обработку дважды. В целом код обработки писал параноик, перед внесением изменений делается сравнение без учета регистра - отличается ли исходный код до изменений и после и если отличается, то изменения не вносятся. Так что запускать можно безопасно - сломать ничего не должен. Цитата:
Цитата:
Просто в Legacy коде была свистопляска. методы то с большой то с маленькой буквы написаны. Имена переменных то с большой то с маленькой. Имена типов / классов / таблиц / полей таблиц в таком же стиле, т.е. отсутствии стиля. Где в лес где по дрова. Ну, а этот инструмент это все исправляет в соответствие со стандартом. Имена самих узлов в АОТ кроме имен методов он не трогает. Только исходный код правит. Из полезного - читаемость код улучшилась. Последний раз редактировалось Logger; 04.03.2021 в 14:11. |
|
Теги |
sourceline |
|
|