Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток

0. olegtymko 843 09.04.21 12:10 Сейчас в теме
Если код написан качественно, его легче развивать и дешевле поддерживать. О том, как организовать контроль качества кода в ручном и автоматическом режиме, и какие инструменты могут в этом помочь, на INFOSTART MEETUP Новосибирск.Online рассказал Олег Тымко.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. wtlz 250 09.04.21 12:45 Сейчас в теме
Вот это годнота!
Особенно рад первому упоминаю PhoenixBSL на инфостарте - для меня это было настоящее открытие.
olegtymko; +1 Ответить
3. olegtymko 843 09.04.21 15:13 Сейчас в теме
(1) я очень ленив и все не могу про него написать статью..)
2. surikateg 09.04.21 15:03 Сейчас в теме
Натравил PhoenixBSL на общие модули УТ, в УправлениеПечатью получил 4 ошибки и 39 предупреждений, в УправлениеКонтактнойИнформацией 5 ошибок, 91 предупреждение. Кто прав? Стоит ли писать код лучше чем в типовом решении?
4. olegtymko 843 09.04.21 15:14 Сейчас в теме
(2) это не все проверки. Пока феникс не умеет подцеплять метаданные автоматом. А вообще - качество вещь относительная. Главное править критические и важные баги.
25. Зеленоград 12.04.21 16:37 Сейчас в теме
(2) А на ЗуП 3.1 можно натравить?
5. booksfill 09.04.21 18:13 Сейчас в теме
Я что-то не смог найти, где в PhoenixBSL можно настраивать правила, кто-нибудь знает?

P.S.
Удручает, когда нельзя изменить макс. длину строки,
отключить крайне спорное предупреждение о кол-ве пробелов после \\,
совершенно неясно почему авторы правил решили, что всегда является ошибкой использование ТекущаяДата вместо ТекущаяДатаСеанса и т.п.
6. nixel 1317 09.04.21 20:40 Сейчас в теме
(5) Phoenix bsl для анализа использует BSL Language Server, который конфигурируется через json файл. Параметры конфигурационного файла описаны в документации https://1c-syntax.github.io/bsl-language-server/dev/features/ConfigurationFile/
10. booksfill 10.04.21 10:09 Сейчас в теме
(6)Спасибо.
1. Но чтобы что-то отредактировать, надо это что-то иметь. Я вижу вы в этом разбираетесь намного лучше, может быть подскажете, где этот файл можно взять?

2. Я верно понимаю: что потом можно будет подключить файл через настройки программы?

3. Отредактировать руками JSON, разумеется, могу, но нет ли удобной приблуды, или только linux way?
13. nixel 1317 10.04.21 13:00 Сейчас в теме
(10) файл нужно создать руками :) это обычный json, в нем нет ничего сложного.
Если его редактировать через visual studio code, то будет работать автокомплит и всплывающая подсказка по параметрам.

И да, в настройках феникса можно указать путь к нему.
16. booksfill 10.04.21 19:03 Сейчас в теме
(13)Немного не понял, т.е. надо руками воссоздать все те правила, что работают сейчас в фениксе и потом их править?
Или я, скажем, могу добавить только правило проверки длины строки, а остальное будет браться по-умолчанию?
17. nixel 1317 11.04.21 14:20 Сейчас в теме
(16) достаточно переопределить настройки конкретного правила. Остальные правила будут иметь настройки по умолчанию.
20. booksfill 12.04.21 09:12 Сейчас в теме
(17)Большое спасибо! Все понял, пойду экспериментировать.
21. nixel 1317 12.04.21 09:24 Сейчас в теме
(20) приходите к нам в чат :)
23. booksfill 12.04.21 14:45 Сейчас в теме
(21)Не очень понял как попасть в чат, поэтому напишу здесь:
При подключении своих правил надо следить за правильностью указания пути.
Случайно добавил пробел в конец пути и... - программа ни на что не ругается, но не запускает проверку и не дает открыть настройки.
Лечится через ручную правку конфигурационного файла.
24. nixel 1317 12.04.21 14:47 Сейчас в теме
(23) телеграм-чат - @bsl_language_server

> Случайно добавил пробел в конец пути

куда добавили? в настройках PhoenixBSL?
7. Артано 734 09.04.21 22:05 Сейчас в теме
Отличный материал. Мог бы поспорить по некоторым формулировкам и утверждениям. Но всё же главное в публикации это обзор инструментов и сделано это очень хорошо.
8. muskul 10.04.21 05:32 Сейчас в теме
Почему есть куча статей, стандартов, автопроверок и так далее, а на выходе 90% 1с решений глюкавое и тормознутое
9. olegtymko 843 10.04.21 06:16 Сейчас в теме
(8) Причин масса, одни из них:
* Большая кодовая база
* Много легаси (код со временем устаревает)
* Универсальность решений

Тесты, CI / CD у вендора однозначно есть, но часто этого бывает мало.
11. booksfill 10.04.21 10:20 Сейчас в теме
(9)Мне кажется, что забыли упомянуть кривую архитектуру, а также "эффективных программистов", которые пытаются это преодолеть экзотическими путями.
Напрмиер. ЗУП 3. с их сборкой запроса в 100500 местах и попыткой сокрытия этих сложностей путем создания функций, которые как-бы и не заставляют вас лезть в механизм. И все это отлично работает, пока, не дай бог, что-то пойдет не так , или надо будет доработать. Какова вероятность, что у кого-то будет желание и время потратить месяц на разборки со всей этой "гениальной" кашей.? Думаю в 99,9% случаев получим смесь ежа с ужом.

Или механизм реализации асинхронных методов (я в курсе, что сейчас поправили)? Он же по сути вынуждает плодить никому не нужные методы, и кстати, далеко не всегда один - попробуйте поработать ассинхронно с потоками ...
asupsam; smit1c; director04; +3 Ответить
12. user1534961 10.04.21 12:24 Сейчас в теме
А в чем разница между оптимизацией и рефакторингом? Оптимизация имеет цель повышение производительности, а рефакторинг это только читабельность кода, разве не так?
Если речь идет о реструктуризации (когда программист объединяет код нескольких своих коллег или напротив, выделяет собственный блок из общего процесса), то сам рефакторинг без заказчика качества кода не повышает и не интересен.
В конфигурации есть возможность провести рефакторинг по одной или выборочно нескольким подсистемам? Но сначала эти подсистемы надо поаыделять.
FatPanzer; +1 Ответить
14. leobrn 525 10.04.21 14:04 Сейчас в теме
PhoenixBSL взял на вооружение, интересно будет потестировать
18. olegtymko 843 11.04.21 16:24 Сейчас в теме
(14) Предложения / досады можно фиксировать здесь -> https://github.com/otymko/phoenixbsl/issues
15. karpik666 3686 10.04.21 18:00 Сейчас в теме
Спасибо, Олег, как всегда, было очень интересно
19. olegtymko 843 11.04.21 16:24 Сейчас в теме
(15) Очень рад, если доклад был полезен / интересен )
22. Поручик 4623 12.04.21 12:41 Сейчас в теме
Быстро, дёшево, качественно. Выберите один из пунктов.
Вылизывать можно до бесконечности.
26. axelerleo 325 25.11.21 17:16 Сейчас в теме
Добрый день! Коллеги, подскажите, куда копать?
Есть конфигурация, подключенная к хранилищу, и расширение, подключенное к другому хранилищу.
как это все выгрузить, используя гитсинк, в один проект для передачи в сонаркуб?
-e ИмяРасширения пробовал, получаю ошибку
соединение расширения конфигурации с хранилищем основной конфигурации невозможно
как корректно указать строку подключения?
Оставьте свое сообщение
Вакансии
Системный архитектор
Москва
зарплата от 150 000 руб.
Полный день

Ведущий консультант аналитик 1С ERP, УХ
Ульяновск
зарплата от 120 000 руб.
Полный день

Программист-разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Аналитик 1С
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Оренбург
зарплата от 120 000 руб.
Полный день