Автоматический поиск повторяющихся выражений в коде 1С

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • Статический анализатор кода 1С в действии. Демонстрируем работу улучшенной диагностики "Идентичные подвыражения".
    Сайт проекта:
    1c-syntax.gith...
    Ссылки на смежные проекты:
    Диагностики для SonarQube 1c-syntax.gith...
    Диагностики для EDT: github.com/oty...
    Диагностики для конфигуратора: otymko.github....
    Диагностики для Снегопата: infostart.ru/1...
    Диагностики для TurboConf turboconf.ru/F...

ความคิดเห็น • 30

  • @flipix100
    @flipix100 3 ปีที่แล้ว +1

    Я далек от такой семантики, но не органичнее ли писать (ИмеетсяИНН) и (НЕ ИмеетсяИНН)?

  • @forexwithak
    @forexwithak 2 ปีที่แล้ว

    подписался)

  • @dobrotank
    @dobrotank 3 ปีที่แล้ว

    На всякий случай, спрошу и здесь. Вдруг проблема не в анализаторе, а в моих кривых руках? И кто-то уже с этим сталкивался.
    Выделяю текст, нажимаю CTRL + I - всё нормально отрабатывает. При попытке использовать функцию замены не канонически написанных ключевых слов нажатием CTRL + J почему-то выделяется текст всего модуля, как будто я нажал CTRL + A, после чего ни одна комбинация (CTRL + I, CTRL + K, CTRL + J) не работают, пока я не перезапущу анализатор.

  • @MegaWertep
    @MegaWertep 3 ปีที่แล้ว

    Отличный инструмент. Но не раскрыта полностью тема по перестановке операндов.
    Работает ли это с арифметическими операциями?
    А + В - С ИЛИ -С + А + В
    И посложнее.
    (А - В) / В ИЛИ А / В - 1 // Это явно не относится к копипастам, но интересно понять
    И идея для развития.
    Если А = 1 Тогда
    // код
    ИначеЕсли А = 1 Тогда
    // код
    КонецЕсли
    Если А = 1 Тогда
    // код
    КонецЕсли
    Если А = 1 Тогда
    // код
    КонецЕсли

  • @nesigaev
    @nesigaev 3 ปีที่แล้ว

    Интересная фишка, а для текста запросов она работать будет?

  • @ДмитрийАфоничкин-в8р
    @ДмитрийАфоничкин-в8р 3 ปีที่แล้ว

    Интересно) ждём знатоков унф в комментах)

  • @ИгорьСергеевич-е9э
    @ИгорьСергеевич-е9э 3 ปีที่แล้ว +1

    Зачем вы конфигуратор вывернули наизнанку?

    • @alexeysosnoviy200
      @alexeysosnoviy200 3 ปีที่แล้ว +1

      Потому что можем =)

    • @ИгорьСергеевич-е9э
      @ИгорьСергеевич-е9э 3 ปีที่แล้ว

      @@alexeysosnoviy200 А задублированные предопределенные бухгалтерские счета и задублированные предопределенные субконто объединить можете?

    • @Веселый1С
      @Веселый1С  3 ปีที่แล้ว

      @@ИгорьСергеевич-е9э как понять "объединить"? Вот так, как в ролике? Конечно да, это ведь такие же выражения.

    • @ИгорьСергеевич-е9э
      @ИгорьСергеевич-е9э 3 ปีที่แล้ว

      @@Веселый1С Вопросов больше не имею )

  • @vivettanors
    @vivettanors 3 ปีที่แล้ว

    За зайца БО отдельный лайк =)

  • @dobrotank
    @dobrotank 3 ปีที่แล้ว

    О Спаситель!

  • @alexeibelousov3279
    @alexeibelousov3279 3 ปีที่แล้ว

    А есть диагностика которая может находить копипаст процедур/функций в разных модулях?

  • @IldarYusupov
    @IldarYusupov 3 ปีที่แล้ว

    Укажите пожалуйста, что проверки BSL для конфигуратора также доступны и в TurboConf и (вроде бы, сам не проверял) - в Снегопате.

    • @Веселый1С
      @Веселый1С  3 ปีที่แล้ว +1

      Дайте, пожалуйста, ссылки на эти интеграции с BSL LS, мы добавим в описание

    • @IldarYusupov
      @IldarYusupov 3 ปีที่แล้ว +1

      @@Веселый1С Для TurboConf: turboconf.ru/Forum/Details/1526

  • @DDEZMON
    @DDEZMON 3 ปีที่แล้ว

    А смысл в этом поиске? Максимум может на одну десятую миллисекунды ускорится работа кода. Главное протестировать пользовательский интерфейс\работу.

    • @Веселый1С
      @Веселый1С  3 ปีที่แล้ว

      Одинаковые выражения в условиях могут скрывать ошибку в логике

    • @DDEZMON
      @DDEZMON 3 ปีที่แล้ว

      @@Веселый1С Могут, только ошибки в логике выявляет пользовательское тестирование. А данная автоматизация не заменяет пользовательское тестирование. Кажется у 1с есть продукт по автоматизации пользовательского тестирования.

    • @Веселый1С
      @Веселый1С  3 ปีที่แล้ว

      Пользовательское тестирование на сотни и тысячи вариантов исполнения кода во всех условиях, функциональных опциях, наборах прав, циклах и граничных случаях - очень дорогое удовольствие. Настолько дорогое, что так никто не делает. Конечно, стат анализ не замена тестированию. Это один из инструментов, обеспечивающих качество программного продукта, наравне с модульными тестами, сценарными тестами, нагрузочными тестами и даже функциональными A/B-тестами конечных пользователей. Но стат анализ дешев

  • @dobrotank
    @dobrotank 3 ปีที่แล้ว

    А куда писать по ошибкам/проблемам с использованием?

    • @dobrotank
      @dobrotank 3 ปีที่แล้ว

      А, нашёл

    • @Веселый1С
      @Веселый1С  3 ปีที่แล้ว +1

      github.com/1c-syntax/vsc-language-1c-bsl или в Телеграм t.me/bsl_language_server