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

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

2
Отличается ли тестирование программного обеспечения, когда мы занимаемся разработкой игр?
Я читал эту статью о различиях между разработкой программного обеспечения в целом и разработкой игр, и авторы сделали несколько хороших замечаний относительно тестирования программного обеспечения, отметив, например, что ... разработчики игр не решаются использовать автоматическое тестирование из-за быстрого устаревания этих тестов перед лицом меняющихся творческих желаний игровых дизайнеров. Итак, это …

5
Как спроектировать исключения
Я борюсь с очень простым вопросом: Сейчас я работаю над серверным приложением, и мне нужно изобрести иерархию для исключений (некоторые исключения уже существуют, но необходима общая структура). Как мне вообще начать это делать? Я думаю о следующей стратегии: 1) Что не так? Что-то спрашивают, что не разрешено. Что-то спрашивают, это …
11 design  c++  exceptions  stl 

1
Почему CharSequence не определяет содержит (CharSequence)?
Это относится как к Java SE, так и к Android, поскольку контракты идентичны. Документация CharSequence для Java SE CharSequence документация для Android CharSequenceне определяет contains(CharSequence)метод. Кажется, я не могу найти причину, по которой, и в том числе, было бы весьма полезно предотвратить необходимость вызова CharSequence#toString()для проверки последовательности символов. Например, в …

1
Во время создания учетной записи, лучше ли автоматически генерировать пароль и отправлять его пользователю или позволить пользователю создать свой собственный пароль?
Этот вопрос возник сегодня, когда мы обсуждали с коллегой страницу «Создать учетную запись» для веб-сайта, над которым мы работаем. Мое коллега считает, что мы должны сделать регистрацию максимально быстрой и беспроблемной, поэтому мы должны просто попросить пользователя отправить его электронное письмо и позаботиться обо всем остальном. Я согласен с намерением, …

2
Как организована непрерывная интеграция в крупных компаниях?
В моей компании обычно не делают промежуточных сборок, чтобы проверить, как каждая ветка возможностей / исправлений объединяется в dev. Существует только ежедневная сборка, которая всегда выявляет множество неудачных тестов и ошибок сборки. Мне сказали, что неразумно делать сборку для каждого слияния более 1000 разработчиков. Поэтому я искал, как организована CI …

5
Шаблон подсчета ссылок для языков с управлением памятью?
Java и .NET имеют замечательные сборщики мусора, которые управляют памятью, и удобные шаблоны для быстрого освобождения внешних объектов ( Closeable, IDisposable), но только если они принадлежат одному объекту. В некоторых системах ресурс может потребляться независимо двумя компонентами и освобождаться только тогда, когда оба компонента освобождают ресурс. В современном C ++ …

1
Какие интуиции поддерживают вызов конструктора Maybe в Haskell «Just»?
Интуиция необязательного типа, подобного этому, Maybe Intзаключается в том, что либо нет Int (то есть он Nothingесть), либо существует некоторое Int; там что-то есть Для меня имеет смысл, что мы вызываем конструктор типов для «отрицательного» случая Nothing, поскольку это означает именно то, что там его нет Int. Но зачем использовать …

7
Является ли хорошей практикой иметь специальное значение «ALL» в перечислении
Я разрабатываю новый сервис в среде микросервисов. Это REST сервис. Для простоты предположим, что путь: / historyBooks И метод POST для этого пути создает новую книгу истории. Давайте предположим, что книга по истории охватывает одну или несколько эпох в истории. Для краткости предположим, что у нас есть только следующие эпохи …
11 rest  api  json  enum 

4
Как я могу эффективно протестировать идею продукта перед его созданием?
Я прочитал об этом множество онлайн-ресурсов, но мне интересно, есть ли лучший способ проверить идею продукта, прежде чем тратить бесчисленные недели на создание этой чертовой штуки? Я читал о таких вещах, как Validate.tech, которые тестируют идеи продуктов менее чем за день, но кажется неправильным заманивать людей целевой страницей и ничем …
11 product 

2
Если есть два подхода к задаче, как выбрать между ними?
У меня есть конкретный вариант использования, и я нашел 3 способа сделать это через Интернет, которые определены для расплывчатых случаев использования. Я смотрю на эти три вопроса о том, что нужно применять. Я склонен сидеть там, не зная, что делать, а потом ничего не делать ... Есть ли хороший способ …

1
Как я могу применить шаблон MVC к приложению C # WinForms?
Я разработчик C ++, который с тех пор использует шаблон MVC для разработки GUI. Недавно я хотел вернуться в C # и настроить приложение Windows Forms, но теперь я немного растерялся, как перенести его в MVC-совместимую структуру. В настоящее время я пытаюсь «объявить» класс, который мне дан для WinForms в …
11 c#  mvc  winforms 

8
Объединение программирования и запросов к базе данных [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 2 года назад . Рассмотрим общий учебник для объектно-ориентированных языков программирования, таких как C ++ …

2
Можем ли мы действительно использовать неизменяемость в ООП, не теряя все ключевые функции ООП?
Я вижу преимущества создания неизменных объектов в моей программе. Когда я действительно глубоко задумываюсь над хорошим дизайном для своего приложения, я часто, естественно, считаю, что многие из моих объектов неизменяемы. Часто приходит момент, когда я хочу, чтобы все мои объекты были неизменными. Этот вопрос касается той же идеи, но ни …

3
Почему Python не был оптимизирован как современные реализации Javascript?
Современные реализации Javascript, такие как V8 (Chrome), SpiderMonkey (Firefox) и Chakra (IE / Edge), имеют JIT-компиляцию и ряд других оптимизаций для повышения производительности. Почему в Python их нет? Я смотрел на PyPy и IronPython, которые оба претендуют на увеличение скорости. PyPy Я не понимаю, как реализация Python, написанная на Python, …
11 python-3.x  jit 

6
Можете ли вы сделать непрерывное развертывание с младшими программистами?
Есть момент, когда вы начинаете понимать, что в архитектуре микросервисов более страшно ждать неделю, чтобы развернуть все микросервисы одновременно, чтобы убедиться, что все работает вместе, чем строго соблюдать принудительное управление версиями API, писать много автоматических тесты (по частям: юнит и исследование, интеграция) и автоматическое развертывание в производство, как только ваш …

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