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

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

4
Что такое юнит-тестирование черного ящика?
Недавно у меня был последний экзамен по курсу разработки программного обеспечения для моей магистерской программы, и один из вопросов на экзамене был следующим: Unit Testing is considered: a. White-box Testing b. Black-box Testing c. Either В моем 7-летнем опыте разработки программного обеспечения модульное тестирование всегда проводилось по принципу «белого ящика». …

3
DDD - Является ли модель анемичного домена антипаттерном? Должны ли мы использовать богатые доменные модели? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . Модель анемичной предметной области была подвергнута давней критике Эвансом и Фаулером , поскольку …

3
Является ли хорошей практикой использование предупреждений в вашем коде?
Я использую @SuppressWarnings("unchecked")и в @SuppressWarnings("null")основном выше методы, чтобы код компилировался без каких-либо предупреждений, но у меня есть сомнения. Нашел этот вопрос Stackoverflow . Джон Скит написал ответ, который я нахожу интригующим. По его словам, Иногда дженерики Java просто не позволяют вам делать то, что вы хотите, и вам нужно эффективно …

1
Соглашение о том, где объявлять module.exports в файлах Javascript
Есть ли соглашение о том, где мы должны объявлять module.exportsфайлы модулей no Javascript / Node.js? Должно ли это быть в начале файла, как: module.exports = Foo; function Foo() { this.bar = 'bar'; } Foo.prototype.getBar = function() { return this.bar; } Или это должно быть в конце файла: function Foo() { …

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

4
Шаблон Дублирования Класса?
В настоящее время я работаю сольным разработчиком над моим текущим проектом. Я унаследовал проект от другого разработчика, который с тех пор покинул компанию. Это веб-приложение в стиле модель-вид-контроллер в C #. Он использует Entity Framework для реляционного отображения объектов. И есть два разных набора классов для типов в модели предметной …

5
Функции, возвращающие строки, хороший стиль?
В моих программах на C мне часто нужен способ сделать строковое представление моих ADT. Даже если мне не нужно выводить строку на экран каким-либо образом, очень неплохо иметь такой метод для отладки. Так что такая функция часто появляется. char * mytype_to_string( const mytype_t *t ); На самом деле я понимаю, …

2
Лучше использовать строки или int для ссылки на перечисления за пределами Java-части системы?
В моей работе обсуждалась возможность использования перечислений в Java. Коллега утверждал, что при использовании перечислений на стороне сервера, когда это необходимо, мы должны использовать строку для ссылки на него (например, при отправке данных с JS на сервер или при хранении в базе данных), утверждая, что это гораздо более понятно для …

1
Реактивное программирование против шаблона MVVM для управления обновлениями графического интерфейса
Реактивное программирование и MVVM - это два подхода, которые могут решить проблему отделения доменного уровня от пользовательского интерфейса. MVVM делает это путем определения модели представления, которая представляет собой структуру данных, сопоставленную с компонентами пользовательского интерфейса. Пользовательский интерфейс отображает данные и, возможно, обновляет их при появлении пользователя. реактивная структура определяет график …
11 gui  mvvm  ui  reactive 

3
Кто первая и вторая стороны?
Итак, это чистое любопытство. Я слышал термин «третье лицо», например, «сторонняя библиотека» довольно давно. Интересно, почему мы говорим 3-й, а не 2-й (или 4-й)? Кто первая и вторая стороны и откуда появился этот термин?


8
Каковы хорошие способы сбалансировать информативные исключения и чистый код?
С нашим общедоступным SDK мы стремимся давать очень информативные сообщения о том, почему возникает исключение. Например: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) ); throw …

1
Как работает Python random shuffle?
Как случайная случайность работает в Python? Я спрашиваю, потому что это работает очень быстро. Когда я пытаюсь написать shuffle, он работает 1 минуту для элемента 10 ^ 6, но Python shuffle делает это за 8 секунд?
11 python  random 

5
Лучший шаблон проектирования ООП для последовательности операций
Я работаю над приложением, модуль которого последовательно выполняет следующие финансовые операции: Когда пользователь запрашивает перевод определенной суммы на свой банковский счет: проверить, может ли какая-либо транзакция произойти сейчас? (транзакция может быть осуществлена ​​только в течение определенного периода времени) проверьте, запросил ли пользователь минимальную сумму для снятия проверьте, есть ли у …

3
Использование веток тестирования в Git
У нас есть человек (назовем его Тед), который отвечает за тестирование новых функций и исправление ошибок. Мы используем Git и GitHub . masterдолжен быть / всегда доступен для развертывания и developmentгде мы фиксируем / объединяем новые функции или исправления ошибок, но только после того, как они были проверены Тедом. Проект …

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