Phoenix BSL: правим ошибки "не отходя от кассы"

Публикация № 1656631 11.05.22

Разработка - Инструментарий разработчика

Рефакторинг код-ревью качество кода Phoenix BSL

Простой инструмент проверки кода без длинных мануалов и многочасовых конвейеров.

Введение

Во время разработки не всегда удаётся следить за качеством кода и соответствием его стандартам. Да, есть АПК и SonarQube, но проверка происходить только после того как код помещается в хранилище или в git, что откладывает время обнаружения ошибок и отодвигает сроки закрытия технического долга. Более того, не все проекты подразумевают контур тестирования. В связи с этим в какой-то момент начались поиски решения, позволяющего:

  1. Дополнить инструментарий разработчика по проверке кода на соответствие стандартам и здравому смыслу, к существующим возможностям конфигуратора.

  2. Сделать это не прибегая к сложным процедурам выгрузки/загрузки исходников, разворачиванию Сонара или АПК непосредственно у разработчика, а также не смотря пока в сторону EDT, внедрение которого требует перестроения вообще всей цепочки работы от разработки до релиза.

Буквально несколько минут поиска информации и изучения материала привели к репозиторию https://github.com/otymko/phoenixbsl. Phoenix BSL (далее, для упрощения жизни писателю и читателю - просто Феникс) - OpenSource-проект, разрабатываемый сообществом (а точнее, самыми активными его представителями) и предназначенный для анализа кода 1С непосредственно в модулях при работе в конфигураторе. Представляет собой приложение, запускаемое параллельно с конфигуратором и проверяющее код при вызове комбинации клавиш CTRL + I. Проект основан на другом OpenSource-проекте BSL Language Server (далее BSL LS), который уже дал старт проверке кода 1С в SonarQube, подсветке и проверке кода 1С в VSCode, а также просто подсветке кода в различных текстовых редакторах.

 

Phoenix BSL

Не будем подробно останавливаться на процессах установки и функциональности Феникса, чтобы не переписывать readme из репозитория, тем более там всё очень подробно расписано, а среди вариантов установки доступен вариант и в msi, так что установка и настройка сводится в двум кликам, в отличие от того же Sonarqube, например. Только укажу, что Феникс не покрывает весь спектр ошибок, доступных, например в SonarQube или АПК, ввиду того, что сейчас программа не понимает какой модуль перед ней, а связи с этим не будет и проверок, завязанных на типе модуля (общий модуль, модуль объекта или модуль формы) - например нет проверки использования устаревшего свойства «ЭтаФорма». Но разработка по продукту ещё ведётся (на подходе версия 0.5), так что идеи, пожелания и жалобы можно кидать в раздел "Досад" репозитория.

А сам я остановлюсь подробнее на возможностях, помогающих работать с программой более гибко и продуктивно.

 

Расширяем возможности, не обновляя программу

Как уже упоминалось, Феникс создан на основе BSL LS. В состав программы уже входит BSL LS актуальной на момент сборки версии (ну или чуть более старой). Но архитектура приложения построена так, мы можем обновить BSL Server отдельно, не дожидаясь пока разработчики включать новые диагностики в программу. Что нам это даст? Новые диагностики кода и более корректная работа старых. 

Откроем настройки установленного приложения. Сделать это можно через пункт "Настройки", щёлкнув ПКМ по значку в трее. Посмотреть версию BSL LS идущую в комплекте с программой можно на вкладке "BSL Language Server". 

Откроем список релизов BSL LS https://github.com/1c-syntax/bsl-language-server/releases и обнаруживаем там уже версию 0.20.0 - что ж, давайте её установим. Переходим чуть ниже по странице версии, находим "Assets" - список вариантов распространения дистрибутива.  И тут есть два варианта - в зависимости от вашей операционной системы и желания копаться в дополнительных настройках: 

  1. Только для Windows - скачиваем bsl-language-server_win.zip. Распаковываем в любую удобную папку - здесь сразу порекомендую подойти к этому делу осознанно и сразу выделить каталог с нормальным названием, который не нужно будет потом долго искать - он нам потом ещё понадобится. Можете просто сделать на диске D каталог "phoenix_conf" и в него положить распакованный архив. После этого возвращаемся в настройки Phoenix и заполняем поле "Путь к BSL LS". В качестве пути указываем полный путь до .exe файла BSL LS. Обратите внимание, что в пути используются "обычный слэш", а не "обратный" как в Windows.
    Нажимаете "Сохранить"

     
  2. Для Linux и Windows - скачиваем bsl-language-server-0.20.0-exec.jar. Перемещаем в удобную папку. Теперь в настройка Phoenix нам нужно указать сразу несколько настроек 
    - чек-бокс "Использовать BSL LS jar"
    - "Путь к Java" - естественно у вас должен быть установлен java в системе. Указать его можно как через переменную среды, так и просто указать прямой путь до java.exe (используя "обычный слэш")
    - "Путь к BSL LS" - полный путь до скачанного вами jar-файла (используя "обычный слэш")
    Нажимаете "Сохранить"


Независимо от выбранного способа, подтверждением, что всё сделано правильно, будет номер новой версии на вкладке "BSL Language Server".

В противном случае там будет светится либо старая версия, либо "Неопределено"

Обновили сервер - получили новые диагностики. 

 

Настраиваем диагностики

BSL Language Server (далее BSL LS) предоставляет возможность изменения настроек, заложенных разработчиками, с помощью конфигурационного файла в формате json. Сразу оговорюсь, что всё что описывается дальше, тестировалось на 1C (BSL) Community Plugin. В другом плагине BSL от "Серебряной пули" 1C (BSL) Plugin от SilverBulleters проверить, к сожалению, не могу.

В настройках программы есть пункты, касающиеся настроек BSL LS. По умолчанию Феникс осуществляет проверки по настройкам, указанным в корне программы, но их можно переопределить установив чекбокс "Свои настройки BSL LS". Путь к настройкам можно указать как относительный (относительно директории программы, как собственно и указаны "дефолтные" настройки), так и абсолютный - только не забыть изменить обратный слэш, используемый в Windows, на обычный.

 

 

Более того, можно создать разные конфигурационные файлы под разные проекты и переключаться между ними "на лету" меняя путь к конфигурационному файлу. Перезагрузка программы не требуется, потому что Феникс считывает настройки во время проверки модуля.

 

 

Про конфигурационный файл

Он представляет собой файл json c именем ".bsl-language-server.json". Базовая структура файла представлена ниже. При такой настройке проверки работают так, как заложены в BSL LS.

{ 
  "$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json", 
  "language": "ru", 
  "diagnostics": { 
    "computeTrigger": "onType", 
    "parameters": { 
    } 
  } 
}

Какие диагностики включены по-умолчанию, а какие нет, их имена для конфигурационного файла, а также перечень параметров диагностик, можно посмотреть на странице BSL LS: https://1c-syntax.github.io/bsl-language-server/diagnostics/. Имейте в виду, что это диагностики BSL LS и некоторая часть из них не работает в Фениксе (вспоминаем про упомянутый выше контекст модуля). Так же учитывайте то, что перечень диагностик приведён для BSL LS последнего релиза, который может не совпадать с версией BSL LS встроенным в Феникс. Поэтому самый надёжный способ для начала работы: заменить файл указанным выше примером и, уже в процессе, по ходу выявления новых ошибок в коде, заниматься или подстройкой диагностик по параметрам или исправлениями в коде. 

Сами настройки диагностик добавляются в блок "parameters". Например, мы хотим сделать что-то с ограничением длины строки. Находим её в списке диагностик (ищем просто "Ctrl+F" по ключевым словам - например, "длина"). Конфигурационный файл знает эту диагностику под именем LineLength. Для того чтобы отключить её вообще , мы можем просто указать "LineLength": false

"parameters": {
    "LineLength": false
}

Либо если мы хотим просто увеличить ограничение со стандартных 120-ти символов, то можем использовать параметр "maxLineLength" и тогда в конфигурационном файле это будет выглядеть вот так:

"parameters": {
    "LineLength": {
        "maxLineLength": 200
    }
}

Или, например диагностика "Возможна опечатка" (Typo), что актуально для процедур и функций в наших конфигурациях и на проектах, когда используется какой-либо префикс. Для неё можно указать исключения:

"parameters": {
    "Typo": {
        "userWordsToIgnore": "абв,abc" 
    }
}

Таким образом можно настроить проверки под каждый проект, в связи с актуальностью на нём тех или иных стандартов, и использовать, переключаясь между ними.

Ниже пример конфигурационного файла, увеличивающего ограничение строк до 160-ти, ругающийся только на опечатки в словах длиной более 3-х символов, с отключенной проверкой "нельзя использовать в идентификаторе одновременно латиницу и кириллицу", а также  пропускающим ошибку "Длина метода"


{
    "$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json",
    "language": "ru",
    "diagnostics": {
        "computeTrigger": "onType",
        "parameters": {
            "LineLength": {
                "maxLineLength": 160
            },
            "Typo": {
                "minWordLength": 3,
                "userWordsToIgnore": "абв,abc"
            },
            "LatinAndCyrillicSymbolInWord": false,
            "MethodSize": false
        }
    }
}

Кстати, этот же конфигурационный файл вы можете использовать также для диагностик в SonarQube или же в VS Code, при работе с кодом 1С или Onescript.

 

Заключение

По итогу мы получаем:

  • довольно простой в обращении инструмент проверки кода, позволяющий влиять на качество кода уже здесь и сейчас на проекте или отдельно взятой обработке для собственных нужд.

  • BSL LS, лежащий в основе, позволяет иметь для проекта единый настроенный файл диагностик и использовать его как в момент создания кода, так и при общей проверке конфигурации в SonarQube.

 

Полезные ссылки:

https://github.com/otymko/phoenixbsl - репозиторий проекта Phoenix BSL (документация, поддержка)

https://1c-syntax.github.io/bsl-language-server/features/ConfigurationFile/ - про файл конфигурирования BSL LS

https://1c-syntax.github.io/bsl-language-server/diagnostics/ - список диагностик BSL LS, а описания и параметры для конфигурационного файла.

https://t.me/bsl_language_server - telegram-канал BSL LS, а также продуктов на связанных с ним: Phoenix BSL, SonarQube

https://www.youtube.com/watch?v=by3OPvkaKco - небольшое вводное видео по Phoenix BSL с Олегом Тымко в главной роли

https://www.youtube.com/watch?v=bom-lgOq-5Y - другое небольшое вводное видео.

https://www.youtube.com/watch?v=UwCIyTktujo - немного про настройку диагностик применительно к Phoenix BSL

//infostart.ru/1c/articles/1420861/ - "Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток" - статья Олега Тымко, где упоминается ещё ряд инструментов для упрощения работы разработчика.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. devtelscargo 11.05.22 12:46 Сейчас в теме
Наконец-то у кого-то дошли руки написать статью про этот чудо-инструмент)
ardn; mas_kot; +2 Ответить
2. nixel 1320 11.05.22 12:49 Сейчас в теме
Пара комментариев:

Базовая структура файла представлена ниже. При такой настройке проверки работают так, как заложены в BSL LS.

{
"$schema": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json",
"language": "ru",
"diagnostics": {
"computeTrigger": "onType",
"parameters": {
}
}
}


Не совсем верно. В базовой настройке computeTrigger установлен в значение onSave. Да и для PhoenixBSL значение onType не имеет смысла, т.к. он использует синхронную pull-модель получения диагностик, а не асинхронную на базе computeTrigger. Так что этот параметр вовсе можно убрать.

Так же учитывайте то, что перечень диагностик приведён для BSL LS последнего релиза, который может не совпадать с версией BSL LS встроенным в Феникс.


Фениксу в настройках можно указать использовать конкретную версию BSL LS вместо вшитой в него. Сам BSL LS можно скачать с https://github.com/1c-syntax/bsl-language-server/releases

(релиз 0.20 на подходе, вуху!)
sleemp; user1233751; begemot; kuntashov; +4 Ответить
3. mas_kot 46 11.05.22 12:57 Сейчас в теме
(2) Спасибо, поправлю. В какой-то момент при экспериментах я заметил, что computeTrigger в Фениксе ни на что не влияет, но не стал удалять "мало ли что". А потом уже и забылось.
komatoza; +1 Ответить
4. Dem0 15 27.05.22 16:54 Сейчас в теме
Не понял, а как по проектам это все делить?
Вот есть у меня несколько конф. файлов. Захожу в bsl а у меня там список из трех элементов:

-"Базовый проект";
-"Базовый проект";
-"Базовый проект";
И что-то настройки не применяются..
5. mas_kot 46 27.05.22 17:27 Сейчас в теме
(4)
...переключаться между ними "на лету" меняя путь к конфигурационному файлу


Выбор проекта, где написано "базовый проект" - это настройка не работает в комьюнити BSL Server. Она для версии от "серебряной пули" - в специальном конфиге прописывается привязка к проекту в сонаре и там работает с помощью этого меню. Для простых "смертных" - смена пути к конфигу напрямую в поле "Путь к настройкам..." (Скриншот 2). Работает без перезагрузки самой программы.
6. Dem0 15 28.05.22 14:58 Сейчас в теме
Ничего не понимаю:

1. Создал файл настроек, указал что не хочу видеть некоторую диагностику, а он опять ее выводит:

2. И еще ботва какая-то - Базовый проект задублировался 3 или 4 раза.

Может кто подсказать?
Прикрепленные файлы:
7. mas_kot 46 28.05.22 15:07 Сейчас в теме
(6) Пункт "Базовый проект" не относится к настройке с комьюнити BSL Server. Он предназначен для другого https://github.com/otymko/phoenixbsl#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0-sonarlint

В твоём же случае подскажи сначала, что у тебя указано в поле "Путь к настройка BSL server"? У тебя там должен быть указан путь к этой настройке. Иначе будет просто браться стандартная настройка которая лежит где-то в глубинах каталогов.
Прикрепленные файлы:
8. Dem0 15 30.05.22 11:29 Сейчас в теме
Спасибо! Действительно в конф. файле у меня почему-то создалось 4 строки в перечне проектов. Убрал дубли.

Сейчас все работает, только вот как найти диагностику по выдаваемому сообщению?
Например я хочу отключить диагностику, которая выдает "Перенестите выражение на новую строку". При поиске в листе диагностик выдаваемого сообщения нет - есть только названия диагностик. И это не "maxLineLength" а что-то другое.
9. Dem0 15 30.05.22 11:30 Сейчас в теме
это условие написанное в одной строке "если ... тогда...конецесли; и оно короче 120 символов.
Но как по выдаваемому сообщению найти диагностику, чтобы потом ее отключить?
10. mas_kot 46 30.05.22 20:57 Сейчас в теме
(9) Тут, к сожалению, действовать только поиском по странице https://1c-syntax.github.io/bsl-language-server/diagnostics/
Например, в вашем случае, если поиском Ctrl + F поискать слово "перенос", то поиск приведёт к диагностике https://1c-syntax.github.io/bsl-language-server/diagnostics/IncorrectLineBreak/
11. alexey_kurdyukov 95 30.09.22 14:28 Сейчас в теме
У меня почему-то вдруг перестало работать, переустановка не помогает. Модуль выделяется, окно открывается, в настройках версия сервера есть, но в самом окне ни одной строчки.
,,,
Извиняюсь, не на ту кнопку жму
Оставьте свое сообщение

См. также

Формат файлов выгрузки DT

Инструменты администратора БД Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Описание формата файлов выгрузки DT, может стать основой для разработки средств восстановления данных

29.05.2023    2236    Pasha1st    7    

56

1С: ИТС (литература ... ) для разработчиков (бесплатно)

Инструментарий разработчика Россия Бесплатно (free)

в режиме тест-драйв с 7 до 164 дня, можно получить доступ к литературе по 1С. Статья рассчитана в основном для начинающих разработчиков.

18.05.2023    815    AlOkt    8    

2

Применение cтандартов и методик разработки конфигураций на практике

Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Практические кейсы для того, чтобы не устать применять стандарты и методики разработки конфигураций.

15.05.2023    3312    improg    35    

54

5 недостатков кода, из-за которых его сопровождение превращается в ад

Рефакторинг и качество кода Бесплатно (free)

О сопровождаемости кода. Коротко и в легкой форме. Какие проблемы с кодом бывают, как их решать.

27.04.2023    1628    wonderboy    18    

8

Лицензия 1С для разработчиков (бесплатно)

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Бесплатно комьюнити-лицензия для разработчиков от 1С.

20.04.2023    14930    AlOkt    64    

50

Рекомендации по оформлению кода на 1С в презентациях

Инструментарий разработчика Бесплатно (free)

В этой публикации собраны рекомендации по оформлению кода в презентациях, которые создаются для демонстрации в аудитории/зале на экране проектора. При соблюдении этих правил на экране компьютера презентация будет также выглядеть хорошо. Также поговорим про инструменты, которые помогут нам подготовить фрагменты кода для презентации. Приведенные советы ориентированы на 1С-разработчиков, но основные рекомендации подойдут для оформления кода на любом языке программирования.

24.03.2023    3354    kuntashov    10    

24

SonarQube: про объемы, ветки, покрытие кода и интеграцию с Gitlab

DevOps и автоматизация разработки Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Опыт применения SonarQube в нескольких командах. Плюс некоторые тонкости: уменьшение объемов базы SQ, интеграция, покрытие кода.

26.02.2023    2481    kraynev-navi    10    

47

Настройка состава "Истории данных"

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обработка позволяет настраивать состав платформенной "Истории данных".

14.02.2023    3759    207    dsdred    16    

67

Отладка временных таблиц и типа ТаблицаЗначений

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

Установив 21-й релиз платформы, многие столкнулись с проблемами в отладке таблиц. При попытке просмотреть большую таблицу во всех колонках и строках написано "Расчет значения". Через время появляются нормальные значения. Но пока долистаешь до конца, в начале уже опять "Расчет значения". Вывод таблиц в макет стал невозможным.

01.02.2023    4208    110    biimmap    22    

46

Соревнование по программированию на 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Устроим соревнование по программированию? Узнаем, кто "берёт и делает", а кто только на словах специалист? Программирование - искусство или ремесло нажимания кнопок?

15.12.2022    5327    elcoan    99    

51

Правила работы с транзакциями 1С

Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Список правил при работе с транзакциями из BSL Language Server и SonarQube 1C (BSL) Plugin. Переработка и осмысление материала.

01.12.2022    4782    kuzyara    42    

78

Вскрытие статического анализа кода проектов 1С

Рефакторинг и качество кода Бесплатно (free)

Для анализа кода многие используют SonarQube с плагинами для 1С, 1С: АПК и т. д. Но не многие знают, как все это работает. Олег Тымко на конференции Infostart Event 2021 Post-Apocalypse рассказал о внутреннем устройстве статического анализа кода и рассмотрел интересные ошибки, которые можно найти в проектах на 1С.

18.10.2022    3074    olegtymko    7    

22

Методика применения однострочного кода

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже много лет не утихают споры о полезности однострочного кода. Разберемся с этими вопросами подробно. Когда полезен однострочный код и как правильно его применять.

25.09.2022    6831    tormozit    76    

95

Вывод имени базы 1С в панель задач (скрипт)

Инструментарий разработчика Бесплатно (free)

Скрипт, который показывает имя базы 1С среди приложений в панели задач.

23.08.2022    2025    a_a_burlakov    28    

40

Красота разработки в 1С, или художественная верстка кода

Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рекомендации по верстке и организации кода в 1С, которые я вывел для себя. P.S. Нет, это не про комментарии и номера версий.

02.06.2022    7537    TimofeySin    67    

65

Генератор текста запроса

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Простой инструмент для быстрой подготовки данных для демонстрации.

20.05.2022    5415    159    echo77    4    

64

Мастер-класс SonarQube. В омут с головой

Рефакторинг и качество кода Бесплатно (free)

Поговорим про SonarQube – не только о том, что он может дать, но и о том, как его установить, быстро запустить и произвести в нем базовые настройки.

19.05.2022    11443    nixel    84    

132

Как выжить, если у тебя в базе 1С 50+ расширений

Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Расширения – это простой способ делать доработки на лету. Но администрировать большое количество расширений и не допустить бардак – очень сложно. О том, как выжить в такой ситуации, реализовать управление доработками и установкой актуальных версий расширений, на митапе «Путь к идеальному коду» рассказал Юрий Былинкин – архитектор 1С в компании Аскона.

16.05.2022    6096    ardn    44    

56

Редактор кода (расширение)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Редактор кода для управляемых форм с подсказками и подсветкой синтаксиса.

05.05.2022    6765    339    33lab    12    

83

Альтернативная раскладка клавиатуры

Инструментарий разработчика Россия Бесплатно (free)

Знаки препинания в RU и EN языках останутся на своих местах. Второй вариант знака - через правый ALT. Больше не придется ловить язык для ввода "#;^&? и т.д.

16.02.2022    3390    62    ValeriVP    8    

5

Отладка внешней печатной формы в управляемом приложении (с редактированием и записью)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Украина Бесплатно (free)

+ 1 способ отладки внешней печатной формы в управляемом приложении (управляемые формы). Уверяю Вас, это быстро и удобно. Не нужно каждый раз обновлять конфигурацию, сохранили внешнюю форму и можно сразу проверять.

20.01.2022    12859    dreamwaver_dz    42    

75

Про простой и понятный код

Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Внимание! Данная публикация с большой долей вероятности не добавит ничего нового к Вашим знаниям и Вашему опыту, поэтому если Вы читаете Инфостарт исключительно для целей "прокачки" своих навыков, не тратьте на её чтение своё время и перейдите сразу к следующей!

03.12.2021    5511    q_i    161    

71

Коллекция универсальных обработок

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коллекция универсальных обработок, которые могут облегчить жизнь разработчику.

02.12.2021    10287    1012    user1051565    26    

101

Стек технологий для 1С

Инструментарий разработчика Рефакторинг и качество кода Групповая разработка (Git, хранилище) Механизмы платформы 1С Бесплатно (free)

Стек технологий, которые могут быть полезны разработчику на 1С и около 1С. По каждой технологии постарался объяснить, зачем она нужна и с чего начать изучение, если заинтересует.

29.11.2021    32225    mrXoxot    63    

429

saby v8unpack

Инструментарий разработчика Бесплатно (free)

Ключевые отличия от аналогичных утилит: человеко-читаемые имена файлов, структура хранения максимально приближена к структуре метаданных, программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов, файлы хранятся в формате json, файлы макетов и картинки хранятся в исходном виде.

09.10.2021    4670    Businka76    72    

66

Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review

Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и, главное, как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    13254    biimmap    55    

137

Правщик "Набра" для картинок и схем. Разработки от kuzkov.info

Инструментарий разработчика Бесплатно (free)

Описание и exe файл Набры, правщика картинок и схем. Свободный инструмент для рисования и повторной правки картинок, схем и диаграмм. Набра раздается как один exe файл с быстрым запуском и без зависимостей для ОС Окна. Богатые возможности позволяют применять Набру для большого количества случаев: для создания простых схем из прямоугольников с текстом и линиями, для наложения элементов и надписей на экроснимки, для рисования bpmn или epc диаграмм, для рисования протоморд для тз и прочего применения. Разрешается и приветствуется применение для целей рисования. Например, для рисования диаграмм предпроектного обследования. Созданную диаграмму можно сохранить в картинку или в xml для повторной правки. Все производные png картинки пишутся без водяных знаков.

14.09.2021    5202    158    Steelvan    15    

24

OneS Cluster Admin - консоль администрирования кластера серверов 1С (кроссплатформенная, мультиверсионная)

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

OneS Cluster Admin (консоль администрирования кластера серверов 1С) - создана для того, что бы избавиться от недостатков классической консоли администрирования, а также привнести некоторые удобные фичи.

10.09.2021    12907    412    YanSergey    64    

139

Тонкий конструктор СКД (Infostart Toolkit)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализация конструктора СКД с нуля для управляемых форм. Контекстная подсказка для языка выражений СКД и другое.

01.09.2021    5735    Evg-Lylyk    22    

64

Загрузи это.... или Консольная утилита для загрузки пакетов с releases.1c.ru

Инструментарий разработчика Бесплатно (free)

Зайду на сайт releases.1c.ru введу логин/пароль, найду нужную версию и еще пти раза ткну мышкой, чтобы скачать нужный файлик.. и это повторить 3 раза... Надоело?... Мечтаете об одной кнопке? Вам сюда.

26.08.2021    3425    khorevaa    34    

22

Распространенные ошибки разработчиков, приводящие к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    16489    ivanov660    77    

142

Антипаттерны программирования в 1С

Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Поговорим про плохой стиль программирования и рассмотрим 17 часто встречающихся антипаттернов.

19.07.2021    13076    ivanov660    121    

69

HTML таблица для начинающих

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Несколько примеров HTML таблиц со стилями и без. Хорошая замена отчетов на СКД.

02.06.2021    11242    dsdred    27    

67

Редактор кода, запроса, ... Infostart Toolkit (интеграция с MS Monaco)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Контекстная подсказка, подцветка синтаксиса в тонком клиенте. В платформе 1С редактор кода на управляемых формах обладает нулевой функциональностью, интеграция с MS Monaco позволяет запустится просто в космос.

28.05.2021    8273    Evg-Lylyk    14    

52

Автоматизация расчета покрытия кода тестами

Рефакторинг и качество кода Бесплатно (free)

На Infostart Meetup, посвященном DevOps-технологиям, с докладом о том, как автоматизировать расчет покрытия кода, выступил программист компании 42Clouds Станислав Косолапов. Станислав рассказал об инструменте собственной разработки для таких задач и показал работу решения на практике.

21.05.2021    6657    amoarok    14    

67

Чек-листы для проведения Code Review

Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

В данной статье будут приведены два чек-листа (основной и для проверки архитектурных решений). По данным чек-листам программист любой квалификации может проверить свой код и код других разработчиков.

17.05.2021    11645    Shining_ninja    99    

129

Быстрый запуск информационной базы 1С:Предприятия 8.3 в Python c использованием bat файла

Инструментарий разработчика Россия Бесплатно (free)

В статье излагается решение задачи быстрого запуска требуемой пользователю информационной базы 1С:Предприятия 8.3. Под быстрым запуском подразумевается запуск информационной базы без выбора в списке информационных баз. Один из способов - запуск информационной базы с использованием ярлыка. Второй способ - быстрый запуск информационной базы в Python с использованием bat-файла.

12.04.2021    2895    fscorp~~61    2    

0