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

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

2
Куда идут исправления в модели git-flow?
В обычно называемых исправлениях модели Git-flow идут в своей конкретной hotfix-*ветке, а небольшие исправления интеграции прямо перед выпуском выпускаются в release-*ветке. Общие исправления из предыдущей версии, похоже, не имеют места. Где они должны появиться? Должны ли они быть в своей собственной bug-*ветви разветвлений прочь develop(так же , как featureветвь)?
14 git  gitflow 

7
Заводской паттерн нарушает принцип Open / Closed?
Почему этот ShapeFactory использует условные операторы, чтобы определить, какой объект нужно создать. Разве нам не нужно изменять ShapeFactory, если мы хотим добавить другие классы в будущем? Почему это не нарушает принцип открытого закрытого?

2
Const C ++ DRY Стратегии
Чтобы избежать нетривиального дублирования, связанного с константой в C ++, существуют ли случаи, когда const_cast будет работать, но частная константная функция, возвращающая non-const, не будет? В пункте 3 « Эффективного C ++» Скотта Мейерса он предполагает, что const_cast в сочетании со статическим приведением может быть эффективным и безопасным способом избежать …
14 c++  dry  const 

4
Почему C ++ не позволяет вам взять адрес конструктора?
Есть ли конкретная причина, по которой это нарушило бы концептуальный язык, или конкретная причина, по которой это технически невозможно в некоторых случаях? Использование будет с новым оператором. Редактировать: я собираюсь отказаться от надежды на получение моего "нового оператора" и "оператора нового" прямо и быть прямым. Суть вопроса в том, почему …
14 c++ 

3
Model-View-Controller: взаимодействует ли пользователь с View или с Controller? [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 5 лет назад . Недавно я узнал о шаблоне проектирования MVC. Я учусь на книге Head First Design Pattern. …

3
MVVM и схема обслуживания
Я строю приложение WPF, используя шаблон MVVM. Прямо сейчас мои viewmodels вызывают сервисный уровень для извлечения моделей (как это не относится к viewmodel) и преобразования их в viewmodels. Я использую инъекцию конструктора, чтобы передать сервис, необходимый для модели представления. Он легко тестируется и хорошо работает для моделей представления с небольшим …

4
Именование логического поля, которое является глаголом
В Java по соглашению getter и setter для логических полей будут isField()и setField(). Это отлично работает с именами полей , которые являются таким прилагательными , как active, visible, closedи т.д. Но как я могу назвать поле, которое имеет значение глагола, например haveChildren? Может быть, добавить «_ing» к глаголу ( )?havingChildren …
14 java  naming 

2
Как предотвратить, чтобы мой исполняемый файл лечился от AV как от плохого или вирусного?
Я создаю часть программного обеспечения, которая будет работать на Windows и будет действовать как лаунчер для игры, чтобы выполнять функцию автоматического обновления и проверки файлов на клиентском ПК. Одна вещь, которую я не понимаю, почему мое антивирусное программное обеспечение (Avast) считает мой exe-файл опасным и не запустит его, не попросив …

6
В каком порядке определяются геттеры и сеттеры? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

1
Как тестировать код обработки изображения?
Я работаю в области обработки изображений (в основном OCR), и мне интересно, как мне интегрировать модульные тесты в мою разработку. Я уже использую модульные тесты для более «распространенного» типа кода, но когда имею дело с кодом обработки изображений, я не уверен, как с этим справиться. Этот вид кода всегда требует …

7
Может ли шаблон Стратегии быть реализован без существенного разветвления?
Шаблон Стратегии хорошо работает, чтобы избежать огромных конструкций if ... else и облегчить добавление или замену функциональности. Тем не менее, это все еще оставляет один недостаток, на мой взгляд. Кажется, что в каждой реализации все еще должна быть ветвящаяся конструкция. Это может быть фабрика или файл данных. В качестве примера …

11
Как не допустить управления в наш процесс разработки
Я инженер-программист в команде разработчиков программного обеспечения. Последние 3 года мы работали для внутреннего клиента над новым продуктом. Теперь, когда этот продукт закончен, мы собираемся поработать над основными новыми функциями для существующих продуктов. Для какой-то функции руководство продукта догадается, что на ее разработку требуется 150 часов. Вместе с нашим менеджером …

2
Пример кода, объясняющего проблему джунглей «Банановые обезьяны», Джо Армстронг [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . В книге « Кодеры за работой» Джо Армстронг заявил, что: Я думаю, что …

2
Как бороться с побочными эффектами в Event Sourcing?
Давайте предположим, что мы хотим внедрить небольшую подсистему безопасности для финансового приложения, которая предупреждает пользователей по электронной почте, если обнаруживается странная картина. В этом примере шаблон будет состоять из трех транзакций, как показано на рисунке. Подсистема безопасности может читать события из основной системы из очереди. Я хотел бы получить предупреждение, …

3
Должны ли внутренние идентификаторы быть открытыми или нет в REST API?
На основании того, что говорит этот парень: http://toddfredrich.com/ids-in-rest-api.html Предположим, он прав в использовании UUID для идентификации ресурсов API. Затем я сталкиваюсь с проблемами, пытаясь реализовать это таким образом: class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource …

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