Конвейер проверки качества кода

0. Stepa86 1369 04.09.19 08:10 Сейчас в теме
Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vlad.frost 187 04.09.19 08:18 Сейчас в теме
Лайк поставил, скрипты скачал!
2. BlizD 778 04.09.19 09:04 Сейчас в теме
3. Pr-Mex 125 04.09.19 16:30 Сейчас в теме
4. Yashazz 3318 04.09.19 18:58 Сейчас в теме
Это вообще кто-нибудь использует? Ну вот по-честному, реально, хоть один живой пример известен?
Hans; Yakud3a; +2 2 Ответить
5. Stepa86 1369 04.09.19 19:00 Сейчас в теме
(4) Мы в нашей компании используем именно этот инструментарий именно в этом виде.
6. Yashazz 3318 04.09.19 19:04 Сейчас в теме
(5) Ну это-то понятно. Сами для себя изобрели и сами мучаетесь. У вас что, миллиардный оборот, конфиги пилите уровня УХ, и сотни кодеров, что понадобились настолько адские ухищрения, как "конвейер", простихосспади, контроля кода? Его и у 1С-то нет)
Yakud3a; Hans; triviumfan; +3 4 Ответить
7. Stepa86 1369 04.09.19 19:07 Сейчас в теме
(6) И с чего вы взяли, что мы мучаемся? И с чего вы взяли, что это настолько адские ухищрения? С чего вы взяли, что этого нет у самого 1С? Нравится писать говнокод, ну продолжайте писать, чо тут то токсичность выплескивать?
DmitrySinichnikov; Andreeei; Reaper_1C; SerebanSK; TreeDogNight; drmaxart; A_Max; VasDmi666; kuzyara; Wilka; support; sorb; pavlov_dv; headMade; zeegin; o.nikolaev; +16 1 Ответить
9. Yashazz 3318 04.09.19 19:47 Сейчас в теме
(7) Да просто ни в одной компании я не видел даже просто аудита и контроля кода. Не то что автоматизации этого процесса. Ну то есть на практике не видел, на бумаге-то много чего было. Не окупается, и не работает толком, выглядит красиво и вкусно, а практического выхлопа ноль. А я много чего видел. В основном - жутковатого.

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

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

А что, качество запросов ваша система тоже проверяет? По заветам Рупасова?)
Andreeei; Hans; Hatson; so-quest; Светлый ум; Yakud3a; Soloist; support; +8 Ответить
10. zeegin 87 04.09.19 20:10 Сейчас в теме
(9) Вам очень не повезло с работодателями.
Это используют. Не всегда в таком виде, иногда какие-то компоненты заменяют на другие.

После того, как втягиваешься - не понимаешь как это можно не использовать :)
Попробуйте потратить пару недель своего времени и разобраться. Сложно только по началу и от незнания процессов и инструментов.
YPermitin; ValentinGushchin; A_Max; rystam_atai; Stepa86; pavlov_dv; +6 Ответить
11. Yashazz 3318 04.09.19 20:50 Сейчас в теме
(10) Процессы-то я знаю и теорию знаю. И время тратил, и разбирался. А вот раздолбайство и бардак таковы, что это просто нельзя использовать. Человеческий фактор и энтропия коллективных взаимодействий, искажения связей в больших системах итд - всё это сводит на нет любую красивую теорию. Это как эйджилы всякие использовать - натягивание совы на глобус.
Что касается "иногда какие-то компоненты" - через год попыток использования таких систем в 95% случаев всё сползает в прежний бардак, только "бухгалтерии прибавляется", как в том анекдоте. А дальше отдельно ритуальные телодвижения и отдельно грустная реальность.
so-quest; Andreeei; +2 Ответить
32. kuzyara 1039 06.09.19 06:03 Сейчас в теме
(11) наш пайплайн
Прикрепленные файлы:
44. Hatson 411 21.02.20 12:16 Сейчас в теме
(10)
Вам очень не повезло с работодателями
и
Попробуйте потратить пару недель своего времени и разобраться.
- 5 баллов!

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

2) Попробуйте потратить пару недель.... Для этого требуется сила воли, самодисциплина и мощная внутренняя мотивация; часто для этого нужно на 2 недели изменить свой образ жизни - на это вообще способны единицы из тысячи! Это практически то же самое, что сказать какому-нибудь чуваку: "попробуй бросить курить, пить пиво и займись спортом" - да ему и так хорошо! Если Вы так можете, то я пожимаю вам руку, коллега!

3) Видел один раз смешную ситуацию в одной компании: люди делали код-ревью и проверяли (автоматизированно) его на соответствие промышленным стандартам 1С. Всё бы ничего, но код был с огромным количеством технологических ошибок и огромным технологическим долгом. Ни о какой производительности, масштабируемости и гибкости такого кода речи не шло - не все знали, что у вирт. таблиц есть параметры, а уж про упр. блокировки и разницу между [ Запрос.Выполнить.Выгрузить() и Результат.Выбрать() ]и говорить не стоит - зато переменные правильно назывались!

Выводы делайте сами.
12. olegtymko 556 05.09.19 04:27 Сейчас в теме
(9) Мы используем code-review и SonarQube очень в этом помогает.
CSiER; Stepa86; +2 Ответить
13. JohnyDeath 297 05.09.19 07:32 Сейчас в теме
(9)
Да просто ни в одной компании я не видел даже просто аудита и контроля кода. Не то что автоматизации этого процесса.


Возможно потому и не используют, что руками очень сложно-долго-дорого?
zeegin; olegtymko; Stepa86; +3 Ответить
16. VmvLer 05.09.19 13:07 Сейчас в теме
согласен с (9)

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

даже если разобраться и использовать, все равно, я считаю, что выхлоп мал и есть более простые пути.
17. Stepa86 1369 05.09.19 13:13 Сейчас в теме
(16) В https://infostart.ru/public/1096770/ я как раз писал кому это не надо, кому можно, а кому обязательно.

И очень интересно услышать про более простые пути в повышении качества кода, чем использование статических анализаторов. Про двойное чтение кода и просто писать без ошибок можно не рассказывать.
19. olegtymko 556 05.09.19 13:22 Сейчас в теме
(16) А какие вы более простые пути используете?
21. VmvLer 05.09.19 13:25 Сейчас в теме
22. Stepa86 1369 05.09.19 13:35 Сейчас в теме
(21) Эффект Да́ннинга — Крю́гера — метакогнитивное искажение, которое заключается в том, что люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации[1]. Это приводит к возникновению у них завышенных представлений о собственных способностях, в то время как действительно высококвалифицированные люди, наоборот, склонны занижать оценку своих способностей и страдать недостаточной уверенностью в своих силах, считая других более компетентными. Таким образом, менее компетентные люди в целом имеют более высокое мнение о собственных способностях, чем это свойственно людям компетентным (которые к тому же склонны предполагать, что окружающие оценивают их способности так же низко, как и они сами).
DmitrySinichnikov; morin; ValentinGushchin; Wilka; zeegin; +5 Ответить
24. VmvLer 05.09.19 15:28 Сейчас в теме
(22) надеюсь вы это взяли из конспекта своих лекций.
в приличных вузах это излагают по предмету "инженерной психологии".

ну а по факту что?

невинное изложение субъективного мнения, идущего вразрез
хвалебного "одобрямс крута", вызывает у вас эмоциональные-мелочные потуги
закрасить собеседника в черные тона.

молодой человек, никто не умаляет вашего таланта и мощи нетленки, но
если вы не научитесь управлять эмоциями и видеть главное, то не все
хорошо будет "в датском королевстве".

смысл мною сказанного станет понятен спустя 10...20 лет, если
в то время хоть что-то будет иметь толику смысла.
23. olegtymko 556 05.09.19 13:39 Сейчас в теме
(21) Вот и поговорили. Код наверное сразу без ошибок и тех. долга пишется и в проде проблем не бывает)
VasDmi666; JohnyDeath; +2 Ответить
33. Soloist 496 06.09.19 10:14 Сейчас в теме
(19) Есть, например Booking практически не тестирует. Очень интересный подход изложен в статье https://bronevichok.ru/blog/2015/04/26/engineering-at-booking.com.html
34. Stepa86 1369 06.09.19 10:23 Сейчас в теме
(33) Не увидел в статье, что они не пользуются статистическими анализаторами кода. Да, тестами не занимаются отдельно - это головная боль каждого конкретного разработчика, и они сами как могут тестируют. Но про использование/не использование стат.анализа ни слова.
35. Soloist 496 06.09.19 11:28 Сейчас в теме
(34) Да, не совсем корректный мой ответ. Просто из-за описанной сложности внедрения такого механизма сразу опускаются руки и ищутся альтернативные, или оправдывающие варианты. Для тестирования в некоторых случаях это можно придумать. А вот с остальным хочется такой конвейер, но сил не хватает на подъем всего этого. Ведь так много надо знать.

Механизм крутой. И я желаю сообществу oscript дальнейшего развития всего этого, чтобы снизить планку сложности вхождения в этот мир автоматизации.
31. JohnyDeath 297 05.09.19 16:28 Сейчас в теме
(16)
и есть более простые пути.

Какие?
15. kuzyara 1039 05.09.19 12:59 Сейчас в теме
(4) Используем, используем.
26. stepan96 41 05.09.19 15:59 Сейчас в теме
(4) Мы сейчас разворачиваем у себя. И в продуктив выводим. И статический анализ и автотесты
Labotamy; +1 Ответить
8. o.nikolaev 199 04.09.19 19:15 Сейчас в теме
Да это просто праздник какой-то! (Карабас Барабас) Именины сердца!
14. JohnyDeath 297 05.09.19 07:33 Сейчас в теме
18. Stepa86 1369 05.09.19 13:17 Сейчас в теме
Удивляют меня те, кто выбрал профессию по автоматизации кому-то чего-то, но при этом против автоматизации своей деятельности
A_Max; Wilka; Сергей Осипенко; zeegin; BlizD; VasDmi666; spy87; olegtymko; JohnyDeath; +9 Ответить
20. VmvLer 05.09.19 13:24 Сейчас в теме
(18) На смену удивлению приходит понимание бесполезности(иногда вредности) многих вещей когда опыт автоматизации велик.

будем философствовать с разрушителем легенд или вернемся к пиару вашей нетленки "без шуму и пыли"?
25. stepan96 41 05.09.19 15:57 Сейчас в теме
Антон, а вот это можно поподробнее: "В менеджере тестирования подключаю тест-клиента под отладкой." Тоже больной вопрос по расчету покрытия
27. Stepa86 1369 05.09.19 16:01 Сейчас в теме
(25) У меня вот так в джсоне для VA

"КлиентыТестирования": [
	{
        "Имя": "Этот клиент",
        "ПутьКИнфобазе": "/FC:/Bases/test",
        "ДопПараметры": "/DEBUG -http -attach /DEBUGGERURL\"http://localhost:1560\"",
        "ТипКлиента": "Тонкий",
        "ИмяКомпьютера": "localhost",
        "ПортЗапускаТестКлиента": "1538",
        "АктивизироватьСтроку": "Истина"
    }
	]
Показать


но первое время можно и вручную в тест-клиенте разрешить отладку и подключить из конфигуратора
28. stepan96 41 05.09.19 16:06 Сейчас в теме
(27) Антон, давай вот вообще для полного дебила (ну то есть для меня)
1. Я запускаю конфигуратор, в нем в настроках ставлю запуск предприятия в режиме тест менеджера и запускаю
2. Соответственно предприятие в режиме тест менеджера, а дальше?

Я если отдельно запускаю тест-клиент, я в предметах отладки не вижу этот сеанс и не могу подключиться
29. Stepa86 1369 05.09.19 16:12 Сейчас в теме
(28) 3. На вкладке "Клиенты тестирования" нажимаешь на подключить клиента тестирования.
4. В открывшемся клиенте сервис - параметры - Отладка в текущем сеансе - Разрешена и вид отладки
5. В конфигураторе Отладка - подключение. Если клиент не подключился, то сверху будут сеансы, если подключился, то в нижней таблице будут и сеанс от менеджера и сеанс от клиента

Если запускать с указанием в доп параметрах "/DEBUG -http -attach /DEBUGGERURL\"http://localhost:1560\"", то эти шаги должны выполнится сами, но иногда отладка не подцепляется
Светлый ум; +1 Ответить
30. stepan96 41 05.09.19 16:15 Сейчас в теме
36. Ndochp 103 27.11.19 16:57 Сейчас в теме
Зачистка подзамочных ошибок делается скриптами (сканим все, потом выкидываем лишнее), или ключами запуска?

У меня не дженкинс и пока не нужен EDT, стоит качать?
37. Stepa86 1369 27.11.19 17:35 Сейчас в теме
(36) Замечания по объектам с замками вычищаются скриптом из джсонов вот тут https://github.com/Stepa86/jenkins-pipeline-1C-to-sonar/blob/master/Sonar/Jenkinsfile#L180

Внутри архива - скрипт по конвертации ошибок из EDT в джсон, понятный для плагина сонара, скрипт по вырезанию замечаний с замками и скрипт по получению покрытия. Если не понятно что это и зачем - лучше не качать
38. Olenevod 24 28.01.20 17:48 Сейчас в теме
Всем привет. Может поможет кто..
Почему при выполнении "Собрать сейчас" не появляется потом "собрать с параметрами"?

Jenkins ver. 2.204.1
39. Stepa86 1369 29.01.20 14:13 Сейчас в теме
(38) Кнопка "Собрать сейчас" появляется после импорта дженкинсфайла из гита и перенастройки задания в соответствии с параметрами в файле.

Кнопка не появляется либо изза того, что импорта еще не было - нужно в первый раз запустить и дождаться ошибки, либо изза того, что импорт не прошел. Например, когда нет прав на репозиторий или указаны не правильные кредишнл для подключения, или неправильно указан репо, или когда нет интернета. Это все в логах можно посмотреть.
Olenevod; +1 Ответить
40. Olenevod 24 29.01.20 14:41 Сейчас в теме
41. amoarok 26 13.02.20 11:10 Сейчас в теме
Инструмент интересный. Но есть вопрос. Как в сонаре при расчёте процента покрытия не учитывать код "под замком"?
42. Stepa86 1369 13.02.20 11:19 Сейчас в теме
(41) При конвертации замеров в покрытие уже учитываются модули на замке и строки таких модулей не добавляются "к покрытию".
43. amoarok 26 13.02.20 12:20 Сейчас в теме
(42) и правда, всё работает. Это у меня в сонаре было включено заполнение строк "к покрытию" через 1C (BSL) Community Plugin. Выключил - цифры стали похожи на ожидаемые. Спасибо!
Оставьте свое сообщение
Вопросы с вознаграждением