Спасибо, что вкладываешь свое время в RedMadRobot Technology Radar!
На этой странице собраны инструкции как работать с изменениями в радаре.
В данном документе используются следующие термины:
- технология - любая библиотека/инструмент/язык и т.д.
- страничка - любая технология из радара.
Для начала, определи какой случай подходит больше всего:
- Если хочется поменять или улучшить что-то не связанное с контентом или твой случай не укладывается в другие сценарии - стоит начать обсуждение
- Если что-то не работает - создавай issue
- Для добавления или изменения страничек - смело создавай pull request.
Каждая технология это отдельный [Markdown] файл. В начале каждого файла должна быть front-matter шапка:
---
title: Лучшая библиотека в мире
ring: trial
quadrant: libraries
tags:
---
Дальше markdown текст с подробным описанием.
Поддерживаемые аттрибуты:
Аттрибут | Описание | Возможные значения |
---|---|---|
title |
Отображаемое название странички | Любая строка |
quadrant |
Квадрант | Один из: libraries utilities methods-and-patterns languages-and-frameworks |
ring |
Кольцевая секция в радаре | Одно из: adopt trial assess hold |
tags |
(опционально) Тэг | Любая строка |
featured |
(опционально, по умолчанию true ) Если установить в false - страничку не будет видно на радаре, а только в overview |
true или false |
Так как страничка - это markdown
файл - можно вставлять картинки, для этого положи ее в ./public/images/
и добавь ссылку:
![nice image](/images/nice-image.png)
При добавлении новой страницы в радар, стоит следовать шаблону:
[Docs](Подставь ссылку на документацию) | [Sources](Подставь ссылку на исходники)
Какую проблему/задачу решает и для каких целей выбрали технологию/библиотеку
## Почему именно X (опционально)
Почему выбрали именно эту технологию, а не, например, `Y`?
## Полезные ссылки
Сюда можно приложить ссылки на следующее:
- Статьи/песочницы
- Пример чего-то реализованного на этой технологии/языке/библиотеке
Пример страницы - camerax
Всего есть 4 квадранта:
- Libraries
Сюда попадают библиотеки, полезные для реализации ПО. - Methods & Patterns
Паттерны и подходы очень важны, т.к. многие из них оказывают большее и продолжительное влияние на проекты. В эту категорию попадает информация о методах и паттернах, касающихся разработки, сontinuous X, тестировании, организации, архитектуре и т.д. - Languages & Frameworks
Языки и фреймворки которые используют роботы. - Utilities
Здесь мы размещаем различные программные инструменты - от небольших утилит до более крупных программных проектов.
Всего есть 4 секции:
- Adopt
Технологии которые активно используются в компании и доказали свою эффективность. - Trial
Технологии которые прошли все этапы тестирования на стейджах или даже в продакшене и готовятся после пристального внимания на них перейти в активно используемые технологии. - Assess
Технологии которые используются в тестовых проектах и не факт, что доберутся до стадии их масштабирования и адаптации, но почерпнуть что-то новое от их использования будет полезно. - Hold
Технологии, которые рассматривали или использовали, но они уже устарели или появились более оптимальные технологии и для новых проектов стоит выбрать что-то другое.
❗ Название файла должно быть таким же, как и в предыдущих релизах.
При переводе технологии в Adopt
- укажи, какие нашлись плюсы (это может быть что угодно).
При переводе в Hold
стоит заполнить следующий шаблон:
Краткое описание, что используем вместо этой технологии/языка/библиотеки.
Нюансы переезда на новую технологию или ссылка на документацию по миграции, для примера можно посмотреть на accompanist insets.
Допущения.
Для примера: отказываемся от AssertJ в пользу Kotest, но на java-проектах продолжаем использовать.
---
</br>
Любые другие подробности (могут отсутствовать).
Пример перевода библиотеки в статус Hold - assertj.
С помощью механизма релизов генератор статики понимает, какие страницы изменились или добавились.
Чтобы создать релиз, создай в директории radar
папку с именем в формате YYYY-MM-DD
(с датой изменения) или воспользуйся скриптом:
./script/create_new_release_folder.sh
Новый релиз необходимо создавать при добавлении странички или изменении статуса технологии.
Для исправления описания существующей страницы релиз создавать не нужно.