Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

1
Обновление диаграмм логической и физической архитектуры
В любом проекте по разработке программного обеспечения, в котором участвуют распределенные системы с несколькими разработчиками, лучше всего иметь диаграммы логической и физической архитектуры, но, по моему опыту, эти диаграммы всегда начинают хорошо поддерживаться в начале проекта, но не обновляются по мере выпуска проекта и фазы обслуживания начинают. Для сложных проектов …

2
Как вы разрабатываете свое программное обеспечение, которое обновляет несколько микросервисов, если один из них выходит из строя?
Есть ли шаблон или практика, которую я могу использовать, чтобы помочь с сервисами, которые либо не работают, либо не работают, а другие стабильны? Что делать, если у меня есть три микросервиса, и два из них хороши, а один умирает прямо посреди POST? Двое получат ПОЧТУ, а один - нет. Я …

6
Scrum - разработчики, работающие вне Sprint
Скрам Команда 3 х Разработчики 2 х Тестеры 1 х аналитик автоматизации тестирования Мы не многофункциональная команда, так как разработчики не тестируют, а тестеры не разрабатывают. Я считаю, что это коренная причина проблемы. В настоящее время мы делаем двухнедельные спринты. В начале спринта все заняты, разработчики начинают работу по разработке, …
12 agile  scrum 

4
Как вписать механизм правил в микросервисную архитектуру, когда она требует много входных данных?
Текущая ситуация Мы внедряем (и в настоящее время поддерживаем) веб-приложение для онлайн-покупок в микросервисной архитектуре. Одним из требований является то, что компания должна иметь возможность применять правила к тому, что наши клиенты добавляют в свою корзину, чтобы настроить их опыт и возможный заказ. Совершенно очевидно, что нужно было создать механизм …

2
Структура сервиса RESTful с Java Spring для начинающих
Я относительно новый с точки зрения навыков веб-разработки на Java. У меня есть проект, который, я думаю, мог бы стать хорошим кандидатом на службу RESTful из того, что я мало понимаю об API. Я пытаюсь вникнуть в детали того, как это должно быть структурировано, но на самом деле нигде не …

1
Почему плохая идея разделять интерфейс между сервером и клиентом?
Я читал документацию Spring Cloud Netflix, когда узнал о способе обмена интерфейсами между HTTP-сервером и его клиентом. Они используют этот пример для микросервисов, хотя нет никаких причин, по которым он не может распространяться на обычную связь HTTP: // The shared interface, in a common library public interface UserService { @RequestMapping(method …

5
Если шаблон репозитория избыточен для современных ORM (EF, nHibernate), что является лучшей абстракцией?
Недавно я прочитал множество аргументов против использования шаблона репозитория с мощной ORM-подобной Entity Framework, поскольку она включает в себя функциональность, подобную репозиторию, а также функциональность Unit of Work. Еще один аргумент против использования шаблона для ситуации, такой как модульное тестирование, заключается в том, что шаблон репозитория является утечкой абстракции, поскольку …

4
Почему нет последовательного определения основных понятий для ООП?
Я очень новичок в программировании и немного смущен чтением \ слушанием различных соглашений из разных источников: Есть ли у объектно-ориентированного программирования 4 или 5 концепций? Как новичок, я понимаю, что это 5 концепций: абстракция наследование Инкапсуляция Полиморфизм модульность Так почему же я не нашел более «строгого» определения, и, кажется, существует …

2
Лучше ли запустить запрос на извлечение или выполнить локальный коммит слияния на master?
Я уже довольно давно пользуюсь GitHub, и обычно я нажимал на свои ветви функций и затем запускал запрос на извлечение, который я сам слил. Я обнаружил, что это помогло мне отслеживать, где я сливал ветви. Но в последнее время я все больше и больше читаю о том, как работает Git, …

1
Что означает «разрешение» в программировании? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я вижу во многих местах, где используется это слово Resolve, в Dependency Injection …

4
Параллельные иерархии - частично одинаковые, частично разные
Есть довольно много подобных вопросов там 1 ,2 ,3 ,4 , но в этом вопросе, похоже, не совсем так, и решения не кажутся оптимальными. Это общий вопрос ООП, предполагая, что полиморфизм, дженерики и миксины доступны. Фактический язык, который нужно использовать - это OOP Javascript (Typescript), но это та же проблема …

2
Должен ли я юнит-тестировать мои подклассы или мой абстрактный родительский класс?
У меня есть скелетная реализация, как в пункте 18 из Effective Java (расширенное обсуждение здесь ). Это абстрактный класс, который предоставляет 2 открытых метода methodA () и methodB (), которые вызывают методы подклассов для «заполнения пробелов», которые я не могу определить абстрактно. Сначала я разработал его, создав конкретный класс и …

3
В Scrum разработчики должны общаться напрямую с клиентами (минуя ПО)?
Как владелец продукта в Scrum должен иметь дело с очень подробными вопросами от команды относительно функций, которые они реализуют, на которые он не может сразу ответить сам? Когда разработчик определенно сможет быстрее связаться с самим клиентом? Интересно, подрывает ли прямая связь между командой и заказчиком роль владельца продукта? Я чувствую, …

6
Как мы можем включать готовые к выпуску функции в наши производственные выпуски раз в две недели?
Я разработчик программного обеспечения в довольно большой гибкой команде (у нас есть восемь разработчиков, активно вносящих изменения в один репозиторий кода). Каждые две недели мы запускаем новую версию нашего программного обеспечения. Вот наш текущий рабочий процесс: При запуске новой задачи разработчики создают «ветку возможностей» из основной ветки разработки (мы используем …

2
Готовность против завершения Async IO Использование памяти?
Я смотрел этот разговор о внедрении Async IO в Rust, и Карл упоминал две потенциальные модели. Готовность и Завершение. Модель готовности: вы говорите ядру, что хотите прочитать из сокета делать другие вещи на некоторое время ... ядро говорит вам, когда сокет готов ты читаешь (заполняешь буфер) делай что хочешь освободить …
12 async  io 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.