Telegram Group & Telegram Channel
Сергей на связи!
На новой работе увидел интересный приём, которым архитекторы кошмарят разработчиков. Спешу поделится.

Значит, у архитектора есть 2 большие задачи.

Задача раз: выработать нефункциональные требования, а потом на их основе нарисовать архитектуру. Задача сложная, но с ней более-менее большинство справляется.
Задача два: проследить, чтобы команда соблюдала заложенные в архитектуру принципы. С этим справляются уже не все, зачастую фантазии хватает только разносить всех на code review. Если у архитектора команда на 5-7 разработчиков, то так прожить ещё можно. А если у вас целый департамент на 50-70 программистов — ну такое.

Конечно, нужно автоматизировать битьё разработчиков по рукам. Например, автоматически проверять % покрытия тестами, или code style. Как правило, они интегрируются в систему сборки и запускаются автоматически, заваливая билд, если какая-то договорённость не соблюдена.

Но если репозиториев уже под сотню, и они плодятся каждый день? Тогда следить за соблюдением договорённостей помогает вот это:
— везде интегрирован jacoco, который проверяет покрытие тестами хотя бы 80%
— во всех репозиториях используется один code style
— все зависимости тянутся только из внутреннего репозитория

Делюсь подсмотренным приёмом: использовать стандартизированный gradle. Как правило, любая сборка состоит из интегрированных плагинов, конфигурация которых вручную копируется из одного проекта в другой. Но можно сделать собственный gradle wrapper со всеми установленными и настроенными плагинами.

Как работает
Архитектор один раз создёет репозиторий, который будет билдить gradle wrapper. Он публикуется в артифактори и становится доступен для скачивания как обычный пакет.

Далее архитектор создает обычный файл build.gradle, добавляет зависимости по вкусу, типа спринга или junit, и настраивает плагины, к примеру, jacoco. Зовётся это init scripts. Архитектор публикует грейдл, рассылает всем разработчикам ссылку на него и идёт спокойно пить пиво. Теперь разработчики при создании проекта указывают, что wrapper надо скачивать не с gradle.org, а из вашего репозитория.

gradle-wrapper.properties
distributionUrl=https://artifactory.your.org/repository/gradle-8.5.zip


Профит! Теперь в проект интегрировано всё минимально необходимое.

Фича зовётся gradle init scripts

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



tg-me.com/stringconcat/268
Create:
Last Update:

Сергей на связи!
На новой работе увидел интересный приём, которым архитекторы кошмарят разработчиков. Спешу поделится.

Значит, у архитектора есть 2 большие задачи.

Задача раз: выработать нефункциональные требования, а потом на их основе нарисовать архитектуру. Задача сложная, но с ней более-менее большинство справляется.
Задача два: проследить, чтобы команда соблюдала заложенные в архитектуру принципы. С этим справляются уже не все, зачастую фантазии хватает только разносить всех на code review. Если у архитектора команда на 5-7 разработчиков, то так прожить ещё можно. А если у вас целый департамент на 50-70 программистов — ну такое.

Конечно, нужно автоматизировать битьё разработчиков по рукам. Например, автоматически проверять % покрытия тестами, или code style. Как правило, они интегрируются в систему сборки и запускаются автоматически, заваливая билд, если какая-то договорённость не соблюдена.

Но если репозиториев уже под сотню, и они плодятся каждый день? Тогда следить за соблюдением договорённостей помогает вот это:
— везде интегрирован jacoco, который проверяет покрытие тестами хотя бы 80%
— во всех репозиториях используется один code style
— все зависимости тянутся только из внутреннего репозитория

Делюсь подсмотренным приёмом: использовать стандартизированный gradle. Как правило, любая сборка состоит из интегрированных плагинов, конфигурация которых вручную копируется из одного проекта в другой. Но можно сделать собственный gradle wrapper со всеми установленными и настроенными плагинами.

Как работает
Архитектор один раз создёет репозиторий, который будет билдить gradle wrapper. Он публикуется в артифактори и становится доступен для скачивания как обычный пакет.

Далее архитектор создает обычный файл build.gradle, добавляет зависимости по вкусу, типа спринга или junit, и настраивает плагины, к примеру, jacoco. Зовётся это init scripts. Архитектор публикует грейдл, рассылает всем разработчикам ссылку на него и идёт спокойно пить пиво. Теперь разработчики при создании проекта указывают, что wrapper надо скачивать не с gradle.org, а из вашего репозитория.

gradle-wrapper.properties
distributionUrl=https://artifactory.your.org/repository/gradle-8.5.zip


Профит! Теперь в проект интегрировано всё минимально необходимое.

Фича зовётся gradle init scripts

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

BY StringConcat - разработка без боли и сожалений


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/stringconcat/268

View MORE
Open in Telegram


StringConcat разработка без боли и сожалений Telegram | DID YOU KNOW?

Date: |

In many cases, the content resembled that of the marketplaces found on the dark web, a group of hidden websites that are popular among hackers and accessed using specific anonymising software.“We have recently been witnessing a 100 per cent-plus rise in Telegram usage by cybercriminals,” said Tal Samra, cyber threat analyst at Cyberint.The rise in nefarious activity comes as users flocked to the encrypted chat app earlier this year after changes to the privacy policy of Facebook-owned rival WhatsApp prompted many to seek out alternatives.

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

StringConcat разработка без боли и сожалений from nl


Telegram StringConcat - разработка без боли и сожалений
FROM USA