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

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

2
Алгоритм колонии муравьев
Я студент, работающий над симулятором колонии муравьев для курсового проекта. Алгоритм для этого (очевидно) алгоритм колонии муравьев. Я знаю, что существуют различные формы алгоритма, но все они были слишком математически детализированы для нас, поэтому мы выбрали подход, в котором мы имеем: Муравей рождается в колонии и должен собирать пищу из …

1
Зачем вам нужны более высокие виды?
Некоторые языки допускают классы и функции с параметрами типа (например, List<T>где Tможет быть произвольный тип). Например, у вас может быть такая функция: List<S> Function<S, T>(List<T> list) Однако в некоторых языках эта концепция может быть расширена на один уровень выше, что позволяет вам иметь функцию с сигнатурой: K<S> Function<K<_>, S, T>(K<T> …

3
Какие виды лицензий с открытым исходным кодом НЕ подходят для внутреннего использования в корпорации? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Недавно я узнал о нескольких классных дополнительных инструментах и ​​библиотеках с открытым исходным …

3
Когда использовать базу данных nosql, такую ​​как mongodb, вместо mysql?
Я новичок в концепции баз данных nosql и никогда не использовал его. Исходя из того, что я прочитал, и того, что я понял, я все еще не понимаю, как они могут быть особенно полезны, если вы не можете делать ссылки между данными, если нет понятия внешнего ключа. Как мне привести …
13 mysql  nosql 

5
Как сделать один тест зависимым от результатов другого теста?
Допустим, есть служебный класс, который предоставляет некоторые распространенные статические методы, используемые повсеместно в вашем коде многими другими классами. Как бы вы разработали свои модульные тесты для потребителей утилиты, чтобы их тесты не выполнялись, если какой-либо из тестов утилиты не пройдет? Можете ли вы сделать это или вам нужно проверить это …

3
Как сохранить низкий аргумент и сохранить независимость сторонних зависимостей?
Я использую стороннюю библиотеку. Они передают мне POJO, который для наших намерений и целей, вероятно, реализован так: public class OurData { private String foo; private String bar; private String baz; private String quux; // A lot more than this // IMPORTANT: NOTE THAT THIS IS A PACKAGE PRIVATE CONSTRUCTOR OurData(/* …

3
Какой смысл проводить синтаксическое различие между стандартными и пользовательскими типами?
Хотя здесь я буду ссылаться конкретно на соглашения об именах в C ++ и Бьярне Страуструпе , в принципе я видел, что люди используют несколько схожие правила для других языков здесь и там. Итак, основная идея заключается в том, что при чтении кода нужно различать стандартные типы от пользовательских типов …

7
Есть ли шаблон для более «естественного» способа добавления предметов в коллекции? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я думаю, что наиболее распространенным способом добавления чего-либо в коллекцию является использование какого-либо …

2
Чтобы включить идентификатор ресурса в полезную нагрузку или извлечь из URI
Разрабатывая API, мы столкнулись с вопросом, должна ли полезная нагрузка PUT содержать идентификатор обновляемого ресурса. Вот что у нас сейчас есть: PUT /users/123 Payload: {name: "Adrian"} Наш код маршрута извлекает идентификатор из URI и продолжает обновление. Первые пользователи нашего API задаются вопросом, почему мы не разрешаем ID в полезной нагрузке: …
13 rest  resources 

4
Таким образом, я пишу этот код для тестирования, но что-то не так с ним, что я пропускаю?
У меня интерфейс называется IContext. Для целей этого не имеет значения, что он делает, за исключением следующего: T GetService<T>(); Этот метод просматривает текущий DI-контейнер приложения и пытается разрешить зависимость. Я думаю, что он довольно стандартный. В моем приложении ASP.NET MVC мой конструктор выглядит следующим образом. protected MyControllerBase(IContext ctx) { TheContext …

2
Как эффективно рассчитать поворот фигуры?
У меня есть рисунок, представленный через матрицу байтов (растровую матрицу). Пример рисунка показан на Picture 1. Цель состоит в том, чтобы найти лучший угол поворота некоторого данного рисунка . Когда рисунок поворачивается на лучший угол, прямоугольник, параллельный осям X и Y и вписывающий рисунок, имеет наименьшую площадь. Прямоугольники, которые вписывают …

2
Подразумевает ли оптимистический параллелизм для объекта Serializability, если транзакция никогда не охватит несколько объектов?
Учитывая систему, которая обеспечивает: Оптимистическое управление параллелизмом / управление версиями для каждого объекта (используя CAS - Check-and-Set) Транзакции, которые никогда не должны охватывать более одного объекта. Снимок изоляции Эта система считается сериализуемой ? Из изоляции моментального снимка В аномалии асимметрии при записи две транзакции (T1 и T2) одновременно читают перекрывающийся …

2
Какова связь между лямбда-исчислением и языками программирования? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Я начинаю свой первый год (в колледже) в области компьютерных наук …

2
Что такое «логика представления» и насколько она приемлема во взглядах?
В моем веб-приложении я должен предоставить форму для создания и редактирования. Формы для создания и редактирования имеют небольшие отличия, поэтому я думаю сделать что-то подобное на мой взгляд: <form> // a lot of htnl goes here @if (editing) { // some more fields shown in edit mode } @if(!editing) { …

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

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