Size: a a a

1С, БСП, DevOps и Архитектура

2021 July 07

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
источник

VB

Vladimir Bondarevski... in 1С, БСП, DevOps и Архитектура
А в линтере есть телеметрия? Или расчет на то, что кто-то прийдет и скажет?
Есть куча кода, на котором можно проверять
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Такие "баги" ловятся только ДФА. Типо документирующий комментарий говорит, что на выходе всегда должно быть число. По ДФА - у тебя число или неопределено. Получаем срабатывание.
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Телеметрия вызвала тут подрыв жёпп
источник

VB

Vladimir Bondarevski... in 1С, БСП, DevOps и Архитектура
А телеметрия в VS Code не вызывает?)
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
И потом, какая телеметрия поможет понять, что это именно FP? Обычно это может сказать только автор
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Ну вот такие у нас 1С-ники, чего сказать?
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
информация о FP фиксируется на багтрекере и фиксится время от времени. а то, что кому-то не нравится диагностика - это не FP, это личные предпочтения
источник

VB

Vladimir Bondarevski... in 1С, БСП, DevOps и Архитектура
Нужна кнопочка, которая будет говорить, что это ложное срабатывание
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
ты можешь любое срабатывание выключить по месту
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
и кнопочка на это даже есть
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Тут как с null. Слишком популярный кейс - значение или null. И в 1С и в других языках. Вот если "число или строка" - то скорее всего баг, а "число или неопределено" - часто валидно
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Ну если число или неопределено будет валидно с точки зрения "сигнатуры" - то в том коде никаким анализом ошибку не поймать)
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Кстати хорошая мысль. Кто бы запилил еще
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Ну вот в Си, Джаве и дотнете есть строгие сигнатуры. И как они позволяют справиться с периодическими NPE?
источник

AS

Alexander Strizhachu... in 1С, БСП, DevOps и Архитектура
да вроде норм
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
ну си плохой пример.. а в крестах тебе ссылки дали помимо указателей, как один из вариантов.
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
А в крестах разве нельзя вернуть ссылку на локальную переменную?
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
теоретически можно сделать код экшен, который бы складывал сообшение о FP куда-нибудь в тот же sentry напрямую из недр bsl ls.

тогда оно даже будет работать по нативному протоколу и сразу во всех редакторах.

только вот вместе с сообщением о ФП в сентри нужен будет весь текст модуля
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Ну это гибкий и низкоуровневый язык. Там есть овердохера способов стрельнуть себе в ногу, получить УБ и отформатировать диск итд.
Главное что при желании все средства минимизировать проблему "NPE" у тебя есть и не нужны тут какие-то анализаторы) Думай что пишешь..
источник