ну я ведь в шуткуЭто весьма распространённый паттерн проектирования
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
Да, показывает, причем, очень похоже на правду =)OKEN
А в конеце показывает что-то?
Есть выхлоп?
В новой версии ворнинга нет, отчет такой же, как и в предыдущей.
А чё там с либами не так было - у них проблемы какие-то при выгрузке и обработке dxl?
OKEN
Вообще, я тока убрал массежбокс этого варнинга.
Сам ворнинг остался.
Я ща с наскока не скажу, в каком случае он появляется (скрипт писал несколько месяцев назад, просто ща появилось время вынести его в standalone базу)
Не может быть, что у тебя стоит use несуществующей библиотеки?
Вообще, я тока убрал массежбокс этого варнинга.
Сам ворнинг остался.
Я ща с наскока не скажу, в каком случае он появляется (скрипт писал несколько месяцев назад, просто ща появилось время вынести его в standalone базу)
Не может быть, что у тебя стоит use несуществующей библиотеки?
В этих либах - точно нет, это либы 2-го уровня и используют только 1 библиотеку напрямую и 1 через нее.Не может быть, что у тебя стоит use несуществующей библиотеки?
В них есть use библиотеки с include, но аналогичное use есть и в нескольких, на которые не ругается.
По другим элементам дизайна, конечно, теоретически могли быть подобные глюки.
Осталось только два "List item error" от 22. Последней ошибки нет. Появился список избыточных юзов. Но не все избыточные юзы отображены. У меня минимум ещё от юза одной библиотеки можно избавиться.
Я тоже замечал, что не всегда все лишние юзы отображаются.
Там было что-то вроде того, что если юзается черезе уровень, то я не всегда ловил.
Но тем не менее, львинную долю лишних юзов он ловить должен.
Иерархию похожую показывает?
Если штука нужная, думаю, что когда-нибудь возьму и перепишу с нуля с анализом всех элементов дизайна и выводом результа не в убогий меседжбокс, а в какой-то приличный отчёт.
Там было что-то вроде того, что если юзается черезе уровень, то я не всегда ловил.
Но тем не менее, львинную долю лишних юзов он ловить должен.
Иерархию похожую показывает?
Если штука нужная, думаю, что когда-нибудь возьму и перепишу с нуля с анализом всех элементов дизайна и выводом результа не в убогий меседжбокс, а в какой-то приличный отчёт.
Я уверен, что это сильно зависит от кол-ва и иерархичности библотек.
По случаю наконец-то попробовал. "На глазок", без цифр. Продублировал 8 раз все юзы формы. Форма сохраняется заметно дольше. При открытии документа по этой форме, время открытия заметно увеличилось, но меньше чем в 8 раз. Так что, Omh зависимость от не уникальных use подтверждается.
TIA
Я уже хреново соображаю, так что, к сожалению, не совсем внял.
Что там у нас подверждается?
Нужно/не нужно включать лишние юзы?
Я уже хреново соображаю, так что, к сожалению, не совсем внял.
Что там у нас подверждается?
Нужно/не нужно включать лишние юзы?
"УРА! Свершилось ЧУДО!" (с) КарлсонТак что, Omh зависимость от не уникальных use подтверждается.
Нужно/не нужно включать лишние юзы?
С точки зрения быстродействия, включать лишние юзы НЕ нужно. Так что полезность тулзы для меня выше.
С точки зрения быстродействия, включать лишние юзы НЕ нужно. Так что полезность тулзы для меня выше.
Чтоб исключить двусмысленность, я бы сказал так - в своих базах включать лишние юзы НЕ нужно. В самой тулзе анализ наличия лишних юзов очень даже полезен и убирать его оттуда не нужно.
Одна несуществующая либа была в агенте и в акшене вью (копипакостники напакостили - либа из другой БД) - это 3-я, которую находила 1-я версия. Так что штука полезная =)Не может быть, что у тебя стоит use несуществующей библиотеки?
А по двум остальным либам я прозрела, посмеялась и перепроверила
Нашла одну либу такую интересную, которая обе ругательные юзает...
Внимательно посмотри пример ее юзов в (Options) (сравни посимвольно, а то тка не видно, попробуй например, кнопку "ответить"):
Use "A" . Во всех остальных - Use "A"
У меня предложение есть - на ворнинги List item error не забивать полностью, но делать не мессагами, а в итоговый отчет =)
Потому что в моем случае, похоже, количество мессагов изначально было равно количеству деклараций использования другими либами той, в которой был нестандартный "use" (я могу ошибаться).
OKEN
Спасибо, посмотрел код.
Посмотрел, действительно код парсит те декларейшены, где только один пробел
Вроде поправил и перезалили аттач в первом посте.
Ворнинги теперь выпечатывает в status bar.
%REM
Ух ты, меня приклеили в пантеон
%END REM
Спасибо, посмотрел код.
Посмотрел, действительно код парсит те декларейшены, где только один пробел
Вроде поправил и перезалили аттач в первом посте.
Ворнинги теперь выпечатывает в status bar.
%REM
Ух ты, меня приклеили в пантеон
%END REM
Именно!Потому что в моем случае, похоже, количество мессагов изначально было равно количеству деклараций использования другими либами той, в которой был нестандартный "use"
всем привет,
попробовал утилиту только что...
вообщем не совсем верно она работает...
есть форма у меня "($ReportTemplate)", которая загружает 1 библиотеку:
в свою очередь данная библиотека загружает:
Утилита написала мне, что неверно пользуется следующая библиотека:
В библиотеке "reporttemplate.form.class" есть 2 класса, на которые ссылается форма:
Суперкласс UINote располпгается в библиотеке "note.class":
а суперкласс UIDocumentLog располагается в библиотеке "notelog.class":
Соответственно, экземляр reportTemplateLog выполняет методы класса UIDocumentLog, например:
Так почему же notelog.class не нужен?
попробовал утилиту только что...
вообщем не совсем верно она работает...
есть форма у меня "($ReportTemplate)", которая загружает 1 библиотеку:
Код:
Use "reporttemplate.form.class"
в свою очередь данная библиотека загружает:
Код:
Use "system.class"
Use "note.class"
Use "notelog.class"
Утилита написала мне, что неверно пользуется следующая библиотека:
SCRIPTLIBRARIES reporttemplate.form.class
- notelog.class
В библиотеке "reporttemplate.form.class" есть 2 класса, на которые ссылается форма:
Код:
Dim reportTemplate As ReportTemplate
Dim reportTemplateLog As ReportTemplateLog
Class ReportTemplate As UINote
....
End Class
Class ReportTemplateLog As UIDocumentLog
Public Sub new(uidoc As NotesUIDocument)
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public Sub delete()
End Sub
...
End Class
Суперкласс UINote располпгается в библиотеке "note.class":
Код:
Class UINote As Note
Public Sub new(uidoc As NotesUIDocument), Note(uidoc.Document)
On Error Goto catch
...
Exit Sub
catch:
Call Me.processError()
End
Resume Next
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public Sub delete()
End Sub
...
End Class
а суперкласс UIDocumentLog располагается в библиотеке "notelog.class":
Код:
Class UIDocumentLog As NoteLog
Public Sub new(uiDoc As NotesUIDocument), NoteLog(uiDoc.Document)
On Error Goto catch
...
Exit Sub
catch:
Call Me.processError()
End
Resume Next
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public Sub delete()
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public Sub addFieldList()
' overloaded sub
' use Me.addField(fieldName As String, fieldTitle As String) sub to add log's fields list to the log's routing
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public Sub logAction(action As String)
On Error Goto catch
...
Exit Sub
catch:
Call Me.processError()
End
Resume Next
End Sub
...
End Class
Соответственно, экземляр reportTemplateLog выполняет методы класса UIDocumentLog, например:
Код:
Call reportTemplateLog.logAction("Save")
Call reportTemplateLog.update(sys.uidoc)
Так почему же notelog.class не нужен?
Библиотека "notelog.class" подключена в "system.class" или "note.class"?
По идее, запись
означает, что из биб-ки "reporttemplate.form.class" можно смело убрать строку {Use "notelog.class"}, т.к. она подключается через какую-то другую библиотеку (в нашем случае "system.class" либо "note.class").
По идее, запись
Код:
SCRIPTLIBRARIES reporttemplate.form.class
- notelog.class
Ещё по теме
4
Поделиться: