Feign оптимизирован для поддержки и обслуживания вместо гибкости. Он предпочитает небольшие функции, которые были запрошены несколько раз, обеспеченные тестами и имеющие ясные случаи использования. Это ограничивает количество строк кода и количество модулей в репозитории Feign.
Проектирование кода имеет определённые предпочтения, включая следующее:
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 )