1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-feign

Клонировать/Скачать
HACKING.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 23:41 1619de0

Хакинг Feign

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

Проектирование кода имеет определённые предпочтения, включая следующее:

  • Классы и методы по умолчанию имеют видимость пакета, а не публичной.
  • Изменение некоторых классов реализации может быть не поддерживаемым.
  • Избегаются сторонние зависимости и сложные API, такие как java.beans.

Как запросить изменения

Лучший способ подойти к не поддерживаемому ещё функционалу — это задать вопрос на gitter или открыть issue. Запрос функции, которую вам нужно (например, как работать с группами команд), а не конкретной реализации (например, сделать приватный тип публичным), даст вам больше вариантов для достижения вашей цели.

Совет обычно даётся в двух частях: совет и обходной путь. Совет может заключаться в изменении кода Feign, или в создании форка до тех пор, пока функция не будет более широко запрошена.## Как работают изменения Высококачественные pull-запросы с ясным охватом и тестами, отражающими намерение функции, часто сливаются и выпускаются в течение нескольких дней. Если сливаемое изменение не было немедленно выпущено и это важно для вас, напомните (оставьте комментарий) на вашем сливаемом pull-запросе до тех пор, пока он не будет выпущен.## Как экспериментировать Изменения в коде Feign лучше всего обрабатываются запросившим функцию в pull-запросе после обсуждения в issue или на gitter. Обсуждение сначала снижает риск неприятного опыта, когда pull-запрос отклоняется. К тому же, функция может уже быть реализована!

Хотя редко, некоторые функции могут быть отложены или отклонены для включения в основной репозиторий Feign. В этих случаях выбор обычно заключается в создании форка репозитория или создании собственного репозитория, содержащего изменение.### Форки приветствуются! Форкирование не является плохим. Это естественное место для экспериментов и проверки функции перед её включением в основной репозиторий Feign. Большие функции или те, которые не удовлетворяют разнообразные потребности, часто откладываются в форках или отдельных репозиториях (см. Правило трёх).

Большие интеграции -> отдельные репозитории

Если внимательно посмотреть, вы заметите, что интеграции Feign часто составляют менее 1000 строк кода, включая тесты. Некоторые функции отвергаются для включения исключительно из-за объёма поддержки. Например, добавление некоторых функций может означать привязку разработчиков к работе на несколько дней или недель, что приведёт к значительному увеличению размера Feign. Большие интеграции не являются плохими, но для устойчивости им необходимо быть изолированными, чтобы поддержка этой функции не угрожала поддерживаемости Feign самой по себе. Feign существует с 2012 года, без необходимости постоянного внимания. Это в основном связано с низкой и доступной поддержкой.Хорошим примером большой интеграции является spring-cloud-netflix. Spring Cloud Netflix устойчив, так как его поддерживают несколько человек, включая поддержку Q&A в течение многих лет.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-feign.git
git@api.gitlife.ru:oschina-mirror/mirrors-feign.git
oschina-mirror
mirrors-feign
mirrors-feign
master